RocketMQ学习

各MQ 并发性能比较
吞吐量
kafka
17.3w/s
rocketMQ
11.6w/s
RabbitMQ
5.96w/s
RocketMQ组件
broker  核心业务组件
nameServe 保存broker 的ip、端口、上下线信息等。 类似注册中心
启动nameServe 时会调用 runserver
启动broker  ,会默认读取/conf/broker.conf            mqbroker.cmd -c ../conf/broker.conf 
多节点集群
2m-2s-async  主从间异步同步
2m-2s-sync    主从间异步同步
2m-noslave    没有主从
参数
参数含义
brokerClusterName  
集群的名字,同一网段内的相同集群名组成一个集群
brokerName
节点名,一对主从节点名相同
brokerRole
节点角色,ASYNC_MASTER异步主节点  AYNC_MASTER同步主节点  SLAVE 从节点
生产者发送消息的三种方式
    同步发送
    异步发送
    单向发送
顺序消息
    保证局部有序,不用关全局有序。局部有序,比如只用管单通会话有序,不用管所有用户的消息都是有序的
即,每个消息队列(MessageQueue)中是有序的,消息队列之间不保证有序
普通是在消费中注册  MessageListenerOderly
顺序消费注册的是      MessageListenerCurrently
延迟消息
Message对象 有18种预设的延迟级别,可以改配置
    //1s、5s、10s、30s、1m、2m、3m、4m、5m、6m、7m、8m、9m、10m、20m、30m、1h、2h
    msg.setDelayTimeLevel( 3);   //延迟 10秒
在开源版中自定义延迟消息,是改造的重点。
批量消息
    将多条消息整合到一条消息一次性发送,减少网络请求次数和IO
过滤消息
  1.     tag标签,一条消息只有一个tag,一个消费者
  2. sql 语法过滤,   支持 <>= "<>" in 、not in 等
          实现机制 将 consumer 指定的sql过滤规则推送到broker,由broker计算将最终结果推给 consumer
事务消息---只与生产者有关
TransactionMQProducer 本地有两个事务 execute 和 check 。broker会对unknown状态消息,过段时间调用一次本地check方法,默认最大调用次数是15。
实际运用举例(待后续与定时任务的实现方式效率比较)
    
    配置好rocketMQ在下单后5分钟内不断让订单系统检查订单是否支付,支付后再将订单推到下游系统。
    
ACL权限控制
    对各用户对topic 的访问限制
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值