RabbitMq RPC 与其他同步方法

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

背景

我们有一个由多个微服务组成的系统。对于通知事件,我们使用 RabbitMq 队列和交换器。对于同步请求,我们使用 HTTP/REST。

RabbitMQ RPC 问题

我们希望用 RabbitMq RPC 替换 REST。在最初的快乐之后,我们检查了RabbitMQ RPC实现,对于一个简单的同步调用来说它看起来相当复杂。

enter image description here

问题

RabbitMQ RPC的开销还可以吗?您推荐更好的选择吗?我喜欢与gRPC不同,使用RabbitMQ RPC不需要维护protobuf然后生成客户端和服务器库。

rest rabbitmq rpc synchronous
1个回答
0
投票

我知道这是一个老问题,但它可能对某人仍然有用。

我已经使用 RabbitMQ RPC 在 .NET 项目中的微服务之间进行通信,这非常棒。

使用像“EasyNetQ”这样的包,它的功能类似于中介者模式:您有一个请求 DTO、一个响应 DTO 和一个请求处理程序。

您发送请求 DTO,处理程序处理它,然后您返回响应 DTO。

无需担心发送/接收队列; “EasyNetQ”使用 DTO 命名空间处理该问题。

我认为当你的微服务是用不同的编程语言开发时,GRPC会是更好的选择。

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