grpc - 2对客户端/服务器是否可以只使用一个gRPC通道
问题描述
我有一个用例迫使我使用 2 对客户端/服务器,例如:我有 2 个进程,每个进程都在扮演客户端/服务器角色,因此我必须创建 2 对客户端/服务器。我的问题是尽量减少创建 2 个通道来实现这种通信的开销,我们是否有可能只使用一个通道?
注意:双流无济于事,因为在我的情况下,这两个进程扮演服务器/客户端角色。
感谢您提供任何进一步的帮助。
解决方案
创建服务器/客户端的开销实际上非常小(太小而无法在大多数应用程序中发挥任何重要作用。
当我们说“创建一个新的 gRPC 通道有一些开销并且是昂贵的操作”时,它的意思是“与在已建立的通道上发送 RPC 相比更昂贵”。您不应该经常创建新通道/服务器(例如,为每个 RPC 创建一个新通道),但是在应用程序启动时创建一个新通道和服务器是非常合理的事情,除非您正在做一些高度专业化的事情,否则它是不值得考虑创建一些额外通道的开销。
我不知道您的用例的详细信息,但我的一般反应是“不要在不必要的地方尝试过度优化”(您是否实际测量了影响 - 您可能会发现它完全可以忽略不计)而且我d 只需创建您需要的服务器/频道。
推荐阅读
- r - R {drake}计划:将许多数据集读入单个目标
- python - 合并保持多索引的数据帧
- python - 如何返回字典中保存的数据框列
- php - PHP: strtotime vs mktime speed for getting 1 个月前
- pvs-studio - CLMonitor 退出代码
- php - PHP中foreach循环的每次迭代的提交按钮
- vba - 如何在以只读方式打开文件之前获取消息,因为它已经在使用?
- django-rest-framework - 为什么不工作 drf-yasg openapi 文档?
- python - 具有自定义损失的多输出模型,包含与其他输出和其他数据的依赖关系
- java - 按表达式或模板进行 Hive 分区