|
|
|
|
|
by EdSchouten
2284 days ago
|
|
I think it comes to no surprise that sending data through a plain TCP socket is faster than using gRPC. The only downside is that over time requirements will likely start to stack up: - Suddenly you want to enable TLS between one or more components, meaning you need to wrap the socket inside a TLS channel. - You discover that your client behaves poorly when servers go offline, so you add your own logic for keepalives/pings. - At some point you want to add metrics to all of this, so you decide to manually add Prometheus metrics to the client/server. - Later on you want to attach OAuth2 tokens to requests as well, so that you can do credential passing. - In order to get more insight in your setup, you decide that you want to use this in combination with OpenTracing/Jaeger. Once all of those features are added to your Redis-like protocol, you discover that you've basically reinvented gRPC... poorly. |
|