Proxyless grpc via xDS
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 39
Description
#### Feature Description
Support (or document) proxyless grpc via xDS. Relevant gRFCs:
https://github.com/grpc/proposal/blob/master/A27-xds-global-load-balancing.md
https://github.com/grpc/proposal/blob/master/A28-xds-traffic-splitting-and-routing.md
https://github.com/grpc/proposal/blob/master/A30-xds-v3.md
#### Use Case(s)
I would like to set up gRPC services to connect to consul's grpc endpoint with a bootstrap file: https://github.com/grpc/proposal/blob/master/A27-xds-global-load-balancing.md#xdsclient-and-bootstrap-file
I can then connect to any grpc service in my catalog via xds:///my-service-name
This should allow me to load balance across services without having to have envoy proxies, reducing operational complexity.
I tried this without success. My grpc service connects to consul's xDS service makes a discovery request but then times out. I know the gRPC endpoint is meant for consul connect and envoy but it doesn't seem much of a stretch to broaden the usage to proxyless grpc.
Contributor guide
Research direction
Start with the referenced A27, A28, and A30 gRFCs and the Consul xDS endpoint/bootstrap-file behavior. Reproduce the xds:///my-service-name discovery timeout, then define whether the outcome is proxyless gRPC support or documentation of the supported configuration and limitations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, grpc
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100