App Mesh + GRPC + new server discovery

0

Hi, I'm testing out App Mesh as a potential replacement of current setup with Consul. I have several services communicating over GRPC and there is the usual challenge on how to discover new instances (e.g. ASG scale out).

Currently we have two methods in Prod, one where the servers periodically terminate connections, to allow clients to discover new servers. Another one with GRPC Client side load balancing where we call DNS Consul agent locally to get the list of instances and discover new ones.

With App Mesh (Envoy), how can I do that? Ideally I'm thinking on leveraging xDS APIs for that, but I can't find any doc on how to have my clients connecting to it. Any insights?

Cheers

Nico
已提问 9 个月前416 查看次数
2 回答
1
已接受的回答

Thanks Ashish for your answer. Not sure this Github issue really covers the use case I shared, let me clarify. By default GRPC will open X channels / connections to servers, once done, as long as the connections remain alive it won't try to open any new one.

Let's assume the following case:

We have 1 client and 10 servers Client opened connections to the 10 servers and keep them alive as long as the servers exist Then traffic increases and we auto-scale-out to 2 clients and 12 servers. What happens is that the 2 new servers will receive only very little traffic coming only from the new client. Because the initial client still has all its connections opened. First 10 servers will probably dislike the too big load and problems will start.

Browsing the web a bit more the last days, I think I found what I need: https://github.com/aws-samples/aws-cloudmap-grpc-name-resolver This way, GRPC client load balancing will automatically discover the new servers and open new connections accordingly to properly balance the load.

Probably mixed up things talking about xDS in my initial message, how that worked wasn't so clear at time of writing. Thanks

Nico
已回答 9 个月前
0

In case of App Mesh, We are configuring round-robin load balancing and this is not yet configurable in App Mesh API.

This read should really help to get info about how to have my clients connecting to it. https://github.com/aws/aws-app-mesh-roadmap/issues/70

AWS
支持工程师
已回答 9 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则