Барон: фреймворк для разработки микросервисов
Барон — это фреймворк, который позволяет быстро создавать микросервисы на основе файлов protobuf с использованием библиотеки go-kit. Это позволяет разработчикам сосредоточиться на бизнес-логике и функциональности приложения.
Особенности:
Установка:
Использование командной строки:
Для использования сервиса необходимо выполнить следующие шаги:
if err != nil { log.Fatalf("[Baron.GRPCClient] Start.Status err=%v\n", err) } log.Printf("[Baron.GRPCClient] Start.Status result=%+v\n", *out) log.Println() }
// Baron HTTP Client
log.Println("[HTTP][Start]")
// HTTP.Start.Status
{
ctx := context.Background()
var in pb.StatusRequest
baronHTTPClient, err := pb.NewHTTPClient(httpAddr)
if err != nil {
log.Fatal(err)
}
out, err := baronHTTPClient.Status(ctx, &in)
if err != nil {
log.Fatalf("[Baron.HTTPClient] Start.Status err=%v\n", err)
}
log.Printf("[Baron.HTTPClient] Start.Status result=%+v\n", *out)
log.Println()
}
// Baron NATS Client
log.Println("[NATS.Start]")
nc, err := nats.Connect(natsAddr)
if err != nil {
log.Fatal(err)
}
defer nc.Close()
baronNATSClient, err := pb.NewNATSClient(nc)
if err != nil {
log.Fatal(err)
}
// NATS.Start.Status
{
ctx := context.Background()
var in pb.StatusRequest
out, err := baronNATSClient.Status(ctx, &in)
if err != nil {
log.Fatalf("[Baron.NATSClient] Start.Status err=%v\n", err)
}
log.Printf("[Baron.NATSClient] Start.Status result=%+v\n", *out)
log.Println()
}
Сервис определения
message EchoRequest {
google.protobuf.StringValue json_str = 6;
}
Использование URL-запроса для передачи значений
Преобразование параметров в JSON
{"value":"Hello世界"}
Кодирование URL
%7B%22value%22%3A%22Hello%E4%B8%96%E7%95%8C%22%7D
http://localhost:5050/echo?json_str=%7B%22value%22%3A%22Hello%E4%B8%96%E7%95%8C%22%7D
Использование HTTP Body для передачи значений
{
"json_str": "Hello世界"
}
google/protobuf/struct.proto
сгенерированные поля должны быть установлены со значениями, установка nil приводит к ошибке.Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )