普象工业设计网站,公众号免费推广平台,网站设计的公司选哪家,石家庄关键词排名首页文章目录 为什么选择Rocket MQ基本概念优点缺点架构图编程模型发送者发送消息固定步骤消费者消费消息固定步骤 为什么选择Rocket MQ Rocket MQ是阿帕奇顶级的开源项目#xff0c;由阿里开发并开源。它的研发背景是Active MQ与Kafka不能很好的解决当时的业务场景。官网上是这么… 文章目录 为什么选择Rocket MQ基本概念优点缺点架构图编程模型发送者发送消息固定步骤消费者消费消息固定步骤 为什么选择Rocket MQ Rocket MQ是阿帕奇顶级的开源项目由阿里开发并开源。它的研发背景是Active MQ与Kafka不能很好的解决当时的业务场景。官网上是这么描述的 在阿里孕育 RocketMQ 的雏形时期我们将其用于异步通信、搜索、社交网络活动流、数据管道贸易流程中。随着我们的贸易业务吞吐量
的上升源自我们的消息传递集群的压力也变得紧迫。根据我们的研究随着队列和虚拟主题使用的增加ActiveMQ IO模块达到了一个瓶颈。我们尽力通过节流、断路器或降级来解决这个问题
但效果并不理想。于是我们尝试了流行的消息传递解决方案Kafka。不幸的是Kafka不能满足我们的要求其尤其表现在低延迟和高可靠性
方面详见下文。在这种情况下我们决定发明一个新的消息传递引擎来处理更广泛的消息用例覆盖从传统的pub/sub场景到高容量的实时
零误差的交易系统。基本概念
名词描述Producer生产者消息的生产者一般是系统中的一个功能模块Consumer消费者消息的消费者一般是系统中的一个功能模块Name server 命名空间用于维护Broker与Topic的信息提供轻量级的Broker路由服务Broker实际处理消息存储、转发等服务的核心组件Topic区分消息的种类用于路由消息Message QueqeTopic的分区用于并行发送和接收消息
优点
异步可以提高系统的响应速度吞吐量。比如现在的菜鸟驿站/快递柜快递员只需把快递送到驿站/快递柜即可送下一个快递不用等A客户拿到快递后再去给B客户拿快递。解耦快递员是一个独立的角色负责派送包裹而不需要直接与收件人进行实时交互。快递员可以通过查询系统或从调度中心获取待派送的包裹信息然后根据包裹上的地址信息进行派送。削峰超市618双十一都会有大促活动。超市可以采用分时段入场、预约购物或提前安排活动等措施将顾客的到达时间分散在更长的时间段内从而减少高峰时段的拥堵和排队等待时间。
缺点
系统稳定性降低引入新的外部依赖对系统稳定性有影响如果MQ宕机不可用会导致整个系统不可用系统复杂度变高MQ是异步的需要考虑消息如何不丢失消息不重复消费如何保证顺序消费等数据一致性问题假设A系统发出消息BC两个系统来消费。B消费成功C消费失败此时如何处理
架构图 编程模型
发送者发送消息固定步骤
创建producer确定生产者组名指定name server地址启动producer创建消息对象指定主题topictag和消息体发送消息关闭producer
消费者消费消息固定步骤
创建消费者Consumer确定消费者组名指定name server地址订阅主题topic 和 tag设置回调函数处理消息启动消费者consumer