gpt4 book ai didi

Redis 发布/订阅 vs Rabbit MQ

转载 作者:IT王子 更新时间:2023-10-29 06:00:23 25 4
gpt4 key购买 nike

我的团队想要转向微服务架构。目前,我们正在使用 Redis Pub/Sub 作为我们系统某些遗留部分的消息代理。我的同事认为继续使用 Redis 作为服务总线是很自然的,因为他们不想花时间研究新产品。但在我看来,RabbitMQ(尤其是 MassTransit)是一种更好的微服务方法。您能否将 Redis Pub/Sub 与 Rabbit MQ 进行比较,并为我提供一些支持 Rabbit 的参数?

最佳答案

Redis 是一种具有可选持久性的快速内存中键值存储。 Redis 的发布/订阅功能是 Redis 作为产品的边缘案例。

RabbitMQ 是消息代理,什么都不做。它针对可靠的消息传递进行了优化,包括命令样式(发送到端点交换/队列)和发布-订阅。 RabbitMQ 还包括管理插件,它提供有用的 API 来监控代理状态、检查队列等。

在低级别的 Redis 客户端上处理 Redis 发布/订阅可能是非常痛苦的经历。您可以使用像 ServiceStack 这样具有更高抽象级别的库,使其更易于管理。

但是,与通过 RMQ 进行原始消息传递相比,MassTransit 增加了很多值(value)。一旦你真正开始做事,无论你决定使用什么传输,你都会遇到与消息传递相关的典型问题,比如处理回复、调度、长时间运行的进程、重新传递、死信队列,以及毒队列。 MassTransit 为您做这一切。 Redis 或 RMQ 客户端都不会提供任何这些。如果您的团队想花时间在他们自己的代码中处理这些问题——那更像是重新发明轮子。在这种情况下使用“不愿意学习新产品”的论点听起来有点奇怪,因为开发人员不想为产品提供值(value),而是想把时间花在处理基础架构问题上。

关于Redis 发布/订阅 vs Rabbit MQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52592796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com