0

I want to build a grpc server which will be run by a company (service provider) and multiple client each run by a different company (a client). I thought of this instead using a Rest API to get benefit from the grpc speed.

My question:

Is it a good practice to connect multiple clients using grpc to a server over internet?

Everybody talks about grpc only between microservices (so I am questioning my design choice)

enter image description here

1 Answers1

2

There is nothing technicaly wrong with using gRPC to expose your service to the outside world.

But consumers are unused to having to consume gRPC. REST is much more common and expected. The reason gRPC is talked about in context in microservices is less about technology and networks. And more about services belonging into single organization and usually single technology stack.

Euphoric
  • 36,735
  • 6
  • 78
  • 110
  • Thanks, I will be in charge of deploying the grpc client and server for multiples organizations. I am more concerned about any potential pitifuls – karim alpha May 11 '23 at 19:11
  • The main issue can be network configurations. Traffic through ports 80 and 443 are usually enabled in most of the firewalls, IP tables or network configurations. Enabling new ports might take you to review the security policies of the private network, but the concerning one is going to be the client's network. For example, I'm kinda paranoid and I have very constraining security policies enabled on my firewall. I could relax these rules because they are mine, but if they were imposed by an organization (say my company), that would be a different story. – Laiv May 12 '23 at 14:14