Moving k8s communication to gRPC
Over the past year and a half, Cloudflare has been transitioning its back-end services from REST APIs to gRPC. The company chose gRPC due to its ability to split monolithic applications into microservices with granular control of communication. While HTTP worked well for most communication between services, as the number of endpoints increased, it became clear that a more efficient method was needed. gRPC provides improved usability and performance compared to REST APIs, allowing large DNS zones to be streamed between client and server without issues related to sizing constraints or compression. Additionally, gRPC supports four types of service methods: Unary, Server Streaming, Client Streaming, and Bi-directional Streaming. The combination of HTTP/2 and protobuf in gRPC has shown almost no performance change from the application's point of view, with efficiency improvements noticeable when writing newly created or edited records to the edge.
Company
Cloudflare
Date published
March 20, 2021
Author(s)
Alex Fattouche
Word count
1973
Hacker News points
4
Language
English