python - so_reuseport下如何连接到特定的grpc服务器进程

标签 python linux grpc-python so-reuseport

我有多个 GRPC 服务器,都使用 GRPC linux 绑定(bind)到同一端口 so_reuseport选项。

这很好,但对于健康检查,我想在所有服务器上进行迭代,一台一台地识别不健康的服务器。

因为它们都有相同的ip和端口,所以我无法控制它会连接到谁。

有什么解决方法吗?

最佳答案

目前这是不可能的,即使端口共享服务器之间的分配也由内核控制。负载平衡是内核级的。 gRPC 无法控制哪个请求登陆哪个服务器。

解决这个问题的一种常见方法是打开一个侧端口进行健康检查。或者您可以更改为使用其他负载平衡(请参阅 doc)技术。

附言。在 gRPC health checking ,您可以为每个服务指定不同名称的健康状态。

关于python - so_reuseport下如何连接到特定的grpc服务器进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57543210/

相关文章:

Python:我可以使用类变量作为线程锁吗?

linux - 解决 Unix 管道中的模糊重定向

linux - diff 只输出文件名

Python GRPC 服务器性能瓶颈

python - 有没有办法让numpy矩阵来存储对象?

python - 给定该点的树索引,如何检索 kdtree 中该点的坐标?

python - 在定义之前使用变量

linux - 尝试在脚本中重定向

python - 谷歌云存储python客户端AttributeError : 'ClientOptions' object has no attribute 'scopes' occurs after deployment