У меня есть определение gRPC API, подобное этому (из примера документов Akka), но гораздо длиннее (4000 строк, только часть service
).
service GreeterService {
rpc SayHello (HelloRequest) returns (HelloReply) {}
rpc ItKeepsTalking (stream HelloRequest) returns (HelloReply) {}
rpc ItKeepsReplying (HelloRequest) returns (stream HelloReply) {}
rpc StreamHellos (stream HelloRequest) returns (stream HelloReply) {}
}
Однако список RPC теперь стал слишком длинными я хочу как-то «разбить его» на несколько файлов, чтобы этот файл был более читабельным.Примерно так:
// file 1:
service GreeterServicePartA {
rpc SayHello (HelloRequest) returns (HelloReply) {}
rpc ItKeepsTalking (stream HelloRequest) returns (HelloReply) {}
}
// file 2:
service GreeterServicePartB {
rpc ItKeepsReplying (HelloRequest) returns (stream HelloReply) {}
rpc StreamHellos (stream HelloRequest) returns (stream HelloReply) {}
}
// main proto file:
import "file1"
import "file2"
service GreeterService = GreeterServicePartA + GreeterServicePartB
Даже простое определение RPC отдельно в разных файлах, а затем запись чего-то подобного помогло бы мне:
service GreeterService {
rpc SayHello = importedSayHello
rpc ItKeepsTalking = importedKeepsTalking
rpc ItKeepsReplying = importedKeepsReplying
rpc StreamHellos = importedStreamHellos
}
Можно ли как-то "составить" службы вЧто такое прото-определения gRPC?