python - Python:缓存 grpc 连接的最佳方法?
问题描述
我正在网络层上使用 GRPC 构建 DHT。
我已经确定瓶颈来自建立连接:
async def sendFindNode(self, to_address, target_id, from_id, from_address):
try:
async with grpc.aio.insecure_channel(to_address) as channel:
stub = helloworld_pb2_grpc.GreeterStub(channel)
results = []
async for response in stub.FindNode(
helloworld_pb2.FindNodeRequest(target_id=str(target_id), from_id=str(from_id),
from_address=str(from_address)), timeout=0.5):
results.append(response)
return results
except grpc.aio.AioRpcError as e:
return None
我的问题是:缓存 grpc 连接的最佳方法是什么?我应该手动映射node_address -> insecure channels
吗?或者 GRPC 库中是否有内置方法来启用缓存?
解决方案
推荐阅读
- android - 在一个地方更改 ID 会更改 Android XML 文件中其他地方的 ID
- c++ - 以下程序的意外输出
- react-native - 执行“react-native link realm”时出错
- c++ - 如何在 C++ 中将一个类的实例完全重新分配给同一类的另一个实例(然后删除原始对象)?
- python - 用于检查文件夹中的更改并复制到另一个文件夹中的 Bash 文件
- javascript - 这个错误是什么意思?渲染方法应该是 props 和 state 的纯函数
- php - 翻译日期(输出 ACF,wordpress)
- pandas - 如何创建 .py 到 .exe 的熊猫代码?
- python - 为什么 NetworkX 会为无向图生成不对称的邻接矩阵
- django - Django在主/详细信息中保存聚合(多对一关系)?