hashicorp / consul

Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.
https://www.consul.io
Other
28.25k stars 4.41k forks source link

Proxyless grpc via xDS #10339

Open dacameron opened 3 years ago

dacameron commented 3 years ago

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.

rcobbdev commented 2 years ago

+1

I am also greatly interested in this feature. Our product leverages a mix of REST and gRPC based microservices. The REST services aren't performance critical and work great under the standard Consul Connect + Envoy style service mesh, but our gRPC services are much more performance/latency sensitive. We have around 30ish microservices with gRPC that ideally would operate under the proxyless service mesh with Consul as the xDS service.

yufeiminds commented 2 years ago

+1

The xDS is a great provider-agnostic protocol for the universe data plane, and the gRPC is a great client for it.

Expect the Consul's implementation!

habib-farr commented 2 years ago

+1

We are interested in proxyless gRPC for low latency machine learning applications comprised of many microservices. An example use case is ML powered Search where user experience is directly tied to latency.

code-uri commented 2 years ago

+1

Any updates on this?

chen-zhuohan commented 1 year ago

+1

Any updates on this?

andrewMpapalika commented 1 year ago

+1

would be great to have this.

n0more commented 1 year ago

+1

efimmatytsin commented 1 year ago

+1

FirstPiterSky commented 1 year ago

+1

code-uri commented 1 year ago

I don't see any reply from the consul team. Maybe this does not fit into their existing product catalog? I think we should look into some alternate purely open source library.

blake commented 1 year ago

Hi @code-uri, we are still interested in soliciting feedback from our community on their use cases for proxyless deployments so that we can better understand what folks are looking for.

If you would like to use gRPC's proxyless service mesh features with Consul, please 👍 the issue and add a comment with your use case answering the following:

NatoNathan commented 6 months ago

Whats the status on this? as we are looking at using Consul for a service mesh of gRPC applications and would like to use proxyless xDS via gRPC.