Обзор
В последнее время я был очень занят работой, и я обнаружил, что не обновлял свой пост в течение 3 недель...
Спасибо, что вы здесь, сегодня я поделюсь с вами инструментом отладки для gRPC.
К точке.
Когда мы пишем HTTP-интерфейс, используя интерфейс отладки Postman, поэтому при написании интерфейса GRPC нет, нет подобного инструмента отладки почтальона?
Это там.
Давайте взглянемgrpcui
, адрес источника:
Взгляните на официальное описание:
grpcui is a command-line tool that lets you interact with gRPC servers via a browser. It's sort of like Postman, but for gRPC APIs instead of REST.
Написать gRPC API
Я уже писал Demo раньше, так что я могу напрямую использовать проект listen, который написал изначально.
Порт: 9901
.proto
документ:
syntax = "proto3"; // 指定 proto 版本
package listen; // 指定包名
// 定义服务
service Listen {
// 定义方法
rpc ListenData(Request) returns (Response) {}
}
// Request 请求结构
message Request {
string name = 1;
}
// Response 响应结构
message Response {
string message = 1;
}
Это очень просто, все понимают это с первого взгляда.
- Имя службы — listen.Listen
- Имя метода ListenData
Посмотрите на метод ListenData:
func (l *ListenController) ListenData(ctx context.Context, in *listen.Request) (*listen.Response, error) {
return &listen.Response{Message : fmt.Sprintf("[%s]", in.Name)}, nil
}
Это означает, чтоName
Вернуться напрямую.
Адрес источника:
запустить службу
cd listen && go run main.go
После успешного запуска службы дождитесь ее использования.
использование grpcui
Установить
По словам официальногоREADME.md
Документацию можно установить.
go get github.com/fullstorydev/grpcui
go install github.com/fullstorydev/grpcui/cmd/grpcui
В это время в$GOPATH/bin
каталог, создатьgrpcui
запускаемый файл.
Выполните команду для проверки:
grpcui -help
вывод:
Usage:
grpcui [flags] [address]
......
Это означает, что установка прошла успешно.
бегать
grpcui -plaintext 127.0.0.1:9901
Failed to compute set of methods to expose: server does not support the reflection API
В этом случае просто добавьте отражение и добавьте следующий код в main.go прослушивания:
reflection.Register(s)
Попробуйте один раз, запустив:
grpcui -plaintext 127.0.0.1:9901
gRPC Web UI available at http://127.0.0.1:63027/
Доступ в вашем браузере:http://127.0.0.1:63027/
На данный момент мы видим, что имя службы и имя метода вышли, и параметры передачи можно управлять прямо на странице.
Когда Запрос «Том» инициирован, также может быть получен Ответ «Том».
Конечно, если эта служба под несколькими именами службы, также будет отображаться несколько имен методов, и вы можете попробовать это.
Серия Go-Gin-API
- 7. Промежуточное ПО маршрутизации — проверка подписи
- 6. Промежуточное ПО для маршрутизации — отслеживание ссылок Jaeger (Actual Combat)
- 5. Программное обеспечение промежуточного слоя для маршрутизации — трассировка ссылок Jaeger (теория)
- 4. Промежуточное ПО для маршрутизации — перехват исключений
- 3. Промежуточное ПО для маршрутизации — ведение журнала
- 2. Планирование каталога проектов и проверка параметров
- 1. Инициализируйте проект с помощью модулей go