RocketMQ
2020-12-01 20:39:12 0 举报
RocketMQ
作者其他创作
大纲/内容
6、Checke the state of LocalTransaction
同步
nameServer
Broker1主
Commit Send Msg
NameServer存放生产者、消费者、topic信息
1注册
5、Check backwhen the forth stepconfirmation is not received
4、Commit or Rollback
1、SendHlafMsg
span style=\"font-size: inherit;\
2、HlafMsgSend OK
5消费消息
RocketMQ与kafka的区别注册中心不同:kafka采用zookeeper;RocketMQ采用自己独立编写的NameServer为什么RocketMQ不采用zookeeper?1、因为zk选举必须满足过半机制才可以使用,而NameServer去中心化,只需要有一个NameServer在,整个注册中心环境就可以使用;2、自己编写注册中心可以快速实现扩展功能在kafka中Broker是物理概念,但是在RocketMQ中一个Broker等于多个master组合其次新增事务消息、顺序消息
事务消息
Broker1备
MQ Producer
控制台RocketMQ-console
https://my.oschina.net/buru1kan/blog/1814356git clone -b release-rocketmq-console-1.0.0 https://github.com/apache/rocketmq-externals.git导入项目到IDEAhttp://127.0.0.1:8080/rocketmq
3投递消息
Producer
MQ Subscriber
MQ Server
RocketMQ 背景是阿里巴巴 经历过双十一考验 、java语言编写 就是对kafka实现的升级版本1、支持事务消息(实现解决分布式事务问题)2、支持高并发顺序消息处理 采用内存队列+多线程处理3、消费者支持tag过滤 减少我们带宽传输RocketMQ关键核心名称:NameServer:类似eureka实现服务注册发现,生产者、消费者 topic信息都统一存放到我们的 NameServer上。去中心化,默认端口号为9876Broker:存储和转发消息 默认10911端口Producer 生产者Consumer 消费者主备 同步主节点的数据,当主宕机之后 可以从备变为主保证高可用;
Broker2备
3、ExecuteLocalTransaction
生产者1、发送同步消息 这种可靠性同步地发送方法使用的比较广泛,比如:重要的消息通知,短信通知2、发送异步消息 异步消息通常用在对响应时间敏感的业务场景,即发送端不能容忍长时间地等待broker的响应3、发送单向消息 这种方式主要用在不特别关心发送结果的场景,例如日志发送消费者1、默认负载均衡模式2、可以设置广播模式consumer.setMessageModel(MessageModel.BROADCASTING)顺序消息、延时消息、批量消息(每次发送不能超过4M)、过滤消息、事务消息
LocalTransaction
2获取Broker地址
Rollback Delete Msg
4获取Broker地址
7、Commit or Rollbackaccording to transaction status
Broker2主
Consumer
0 条评论
下一页