// ProductInfo.proto
syntax = "proto3";
package ecommerce;
service ProductInfo {
rpc addProduct(Product) returns (ProductID);
rpc getProduct(ProductID) returns (Product);
}
message Product {
string id = 1;
string name = 2;
string description = 3;
}
message ProductID {
string value = 1;
}
Определение сервиса начинается с указания версии Protocol Buffers (proto3), которую мы используем.
Имена пакетов позволяют предотвратить конфликты имен между типами сообщений и также применяются для генерации кода.
Определение интерфейса gRPC-сервиса.
Удаленный метод для добавления товара, который возвращает ID этого товара в качестве ответа.
Удаленный метод для получения товара по его ID.
Определение формата/типа сообщений Product.
Поле (пара «имя — значение»), хранящее ID товара. Обладает уникальным номером, с помощью которого его можно идентифицировать в двоичном формате сообщений.
Пользовательский тип для идентификационного номера товара.
gRPC: запуск и эксплуатация облачных приложений. Go и Java для Docker и Kubernetes
·
Данеш Курупу