采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,如果说程序运行在分布式的多台服务器上,形成负载均衡。mq中一条数据出队列,是分到其中一台服务器上的吧,为什么不是每一台服务器都能获得该条数据呢???而redis的订阅功能,比如订阅过期失效的key,是每一台服务器都会收到失效信息的吧,又有什么办法专门只让其中一台服务器收到失效信息呢???
rabbit也可以把一条消息推送个多个Queue,同一个Queue的消费者有多个,一条消息只会有一个消费者会收到消息,否则不就重复消费了么?redis的发布订阅就相当于是把一个消息推送给多个Queue,可以让不同的服务器订阅不同的失效key
将代码打包传到服务器时,代码都是相同的。既然服务器的代码都是相同,要怎样做到不同的服务器订阅不同的失效key呢
redis默认只支持发布订阅,要想实现消息队列得自己来实现。实际生产环境中,一般不使用redis做消息队列,而是使用rabbitMQ这种
redis的消息机制很不完善,比如:不支持可靠发布、可靠消费等等,除非手动实现下,否则根本无法作为消息队列在生产环境使用。
登录后可查看更多问答,登录/注册
各种缓存/JSR303参数检
1.3k 17
1.4k 17
1.1k 17
1.1k 16
1.1k 13