为GRPC使用备用连接通道/传输

问题描述 投票:0回答:1

我目前有一个原始的RPC设置,该设置依赖于通过安全套接字传输的JSON,但是我想切换到gRPC。不幸的是,我还需要在Windows上访问AF_UNIX(Microsoft最近开始支持该功能,但尚未实现gRPC)。

由于我已有一个现有的工作连接(由其他库管理),所以我的首选是将它与GRPC结合使用来发送/接收命令来代替我的JSON解析,但是我正在努力寻找最佳方法为此。

我看过Plugging custom transport into gRPC,但是这个问题在以下方面有所不同(以及我希望有一个新的答案)

  1. 我想避免对gRPC的核心进行更改。如果可能的话,我更愿意从我的库中对其进行扩展,但是这里的答案意味着向gRPC添加了新的传输方式。如果确实需要在传输层进行此操作,是否有一种机制可以在核心之后向gRPC注册它已经建成?
  2. 我不确定是否需要将其定义为完全自定义传输,因为我已经建立并准备好现有连接。我已经看到一些暗示我可以简单地扩展Channel的事情,但是我可能错了。
  3. 我需要能够支持Windows或至少它的现代版本(这意味着gRPC提供的from_fd选项不可用,因为它们目前仅针对POSIX实现)

有人用gRPC解决了类似的问题吗?

windows grpc rpc
1个回答
0
投票

我可能已经想出了自己的答案。当Protobuf的服务定义组件不依赖于gRPC时,我似乎过于专注于gRPC。

[How can i write my own RPC Implementation for Protocol Buffers utilizing ZeroMQ与我的用例非常相似,https://developers.google.com/protocol-buffers/docs/proto#services似乎可以解决我的问题(这也解释了为什么我似乎一直在混淆所涉及的各种“渠道”

我欢迎任何改进/建议,并希望以后有同样困惑的人们在搜索中可以发现这一点。

© www.soinside.com 2019 - 2024. All rights reserved.