Skip to content

HTTP vs gRPC (Services)

Brent edited this page May 25, 2023 · 1 revision

Services which aren’t solely for load-balancing will support HTTP requests in addition to gRPC. This means if the service is used by something other than the web assemblies (such as a relay or RCCService itself), it should be designed with HTTP support primarily in mind. ClientSettings, VersionCompatiblity, Games, and ThumbnailsCoordination service are all great examples of this. Users, StaticContent, Files, Friends, etc. service are all intended to act as a middle-man between the web-app and the data sources and should typically only support and be built primarily around gRPC.

Configuration service is an exception to this since it primarily serves as a load-balancer, but likely has the Configuration assembly still using HTTP instead of gRPC. Configuration's use of HTTP should and hopefully will be phased out soon.

Clone this wiki locally