
正文
redis消息订阅延迟,redis发布订阅持久化
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
redis与rabbitmq做消息队列的区别
我们介绍了RabbitMQ,Kafka和Redis的一些特征。这三种动物都是它们的类别,但是如上所述,它们的运行方式大不相同。这是我们建议正确的消息代理根据不同用例使用的建议。
首先说RabbitMQ,RabbitMQ是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正因如此,它非常重量级,更适合于企业级的开发。
redis只是提供一个高性能的、原子操作内存键值对,具有高速访问能力,可用做消息队列的存储,但是不具备消息队列的任何功能和逻辑,要作为消息队列来实现的话,功能和逻辑要通过上层应用自己实现。我们以RabbitMQ为例介绍。
消息队列 一般是采用一个独立的集群专门用于消息存储,可以存储在内存里 也可以直接存储在磁盘中。
相关问答
Q1: 常用的消息队列
1、ZeroMQ号称最快的消息队列系统,尤其针对大吞吐量的需求场景。ZeroMQ能够实现RabbitMQ不擅长的高级/复杂的队列,但是开发人员需要自己组合多种技术框架,技术上的复杂度是对这MQ能够应用成功的挑战。
2、包括消息队列键值、用户ID、组ID、消息队列中消息数目等等。消息队列就是一个消息的链表,可以把消息看作一个记录,具有特定的格式以及特定的优先级。
3、Redis实现消息队列原理,常用的消息队列有RabbitMQ,ActiveMQ,个人觉得这种消息队列太大太重,本文介绍下基于Redis的轻量级消息队列服务。
4、\x0d\x0a 目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。\x0d\x0a 消息队列应用场景\x0d\x0a 以下介绍消息队列在实际应用中常用的使用场景。
Q2: Redis模拟多个redis客户端实现订阅功能
1、订阅testtest2的客户端会收到消息 按照上述这种方式,如果 订阅者subscriber想要订阅多个channel 则需要同时指定多个channel的名称,redis为了解决这个问题提供 psubscribe模式匹配 这种订阅方式,可以通过通配符的方式匹配频道。
2、Redis还可用于发布订阅系统,支持多个客户端通过订阅频道来接收实时的消息,从而实现聊天应用、新闻推送等。
3、可以利用Redis的setnx功能来编写分布式的锁,虽然这个可能不是太常用。
Q3: Redis、Kafka或RabbitMQ:哪个作为微服务消息代理最合适?
1、我们介绍了RabbitMQ,Kafka和Redis的一些特征。这三种动物都是它们的类别,但是如上所述,它们的运行方式大不相同。这是我们建议正确的消息代理根据不同用例使用的建议。
2、ZeroMQ能够实现RabbitMQ不擅长的高级/复杂的队列,但是开发人员需要自己组合多种技术框架,技术上的复杂度是对这MQ能够应用成功的挑战。
3、Kafka和RabbitMq一样是通用意图消息代理,他们都是以分布式部署为目的。但是他们对消息语义模型的定义的假设是非常不同的。我对AMQP 更成熟这个论点是持怀疑态度的。让我们用事实说话来看看用什么解决方案来解决你的问题。
4、综上所述: 一般公司会利用kafka收集一些日志之类的消息,因为日志一般量特别大,即使丢几条数据也没事,并且要求吞吐量也高,一般就是收发消息,不需要太多的功能,所以kafka非常适合这个场景。
redis消息订阅延迟的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于redis发布订阅持久化、redis消息订阅延迟的信息别忘了在本站进行查找喔。







