As I know, GRPC clients can be generated for any language that support GRPC. However, can the services on the server be implemented using different languages for the same proto file?
For example, I have this proto file:
service Greeter {
rpc SayHello (Request) returns (Reply) {}
}
service Goodbye {
rpc SayGoodBye(Request) returns (Reply) {}
}
message Request {
string name = 1;
}
message Reply {
string message = 1;
}
Can the 2 services Greeter and Goodbye be implemented in different languages, for example:
- Greeter: Golang
- Goodbye: Java
What about the case when I separate those 2 services into 2 different proto files?
If it can be done in different languages, is it a good practice? The usecase I can think of for this is when all members of the team cannot work in the same language, like when it's hard to recruit new Golang developers and the team needs to recruit some Java developers instead to continue the project.