是否可以使用RabbitMQ和gRPC对.NET中的消息进行排队?

r7s23pms  于 2023-02-14  发布在  .NET
关注(0)|答案(3)|浏览(195)

就像标题说的。
有没有办法在. NET中结合使用gRPC和某种消息代理/队列?
它不一定是RabbitMQ。我愿意使用替代品。



我想从1个客户端发送消息到2个服务器,但我需要防止2个服务器同时处理请求,因此需要消息队列/代理。

nmpmafwu

nmpmafwu1#

你可以使用Azure Service Bus执行此操作。客户端可以在内部部署或Azure中。服务器1和2也是如此。
注意:您应该能够将gRPC发送到Azure服务总线,但您可能需要使用HTTP/REST函数进行主题/订阅,以将消息发送到服务器1或2。
另一种要考虑的方法是:
https://grpc.io/blog/grpc-load-balancing/

oyjwcjzk

oyjwcjzk2#

我想最好的回答你的问题,我假设你想使用rabbitmq和grpc的原因是因为你想在仍然使用rpc模式的同时有更好的客户机到服务器的解耦,记住这一点,这可能是你实际需要的东西:

  1. rabbitmq - rpc模式(可以从rabbitmq文档中找到教程)
    1.谷歌protobuf是你的服务之间的合同
    其思想是,客户端通过两个通道连接到队列,一个通道用于发送消息,您可以将目的地指定为特定的服务(在您的场景中为service 1);二是应答信道,其中服务1将向客户机发回消息。
nwlqm0z1

nwlqm0z13#

Kafka和confuent平台支持grpc和google proto-buffer作为序列化模式。

相关问题