rocketmq学习总结01

rocketmq—消息队列

优点
  • 系统解耦
  • 流量削峰
  • 消息分发
缺点
  • 系统可用性降低—高可用
  • 系统复杂度提高—重复消费,消息丢失,消息顺序
  • 一致性问题—a和b处理成功,c处理失败怎么处理
安装及启动
  1. 下载bin安装包
  2. 解压至/usr/local
  3. 进入bin目录,执行
    nohup sh mqnamesrv &
  4. 查看启动日志
    vi ~/logs/rocketmqlogs/namesrv.log
  5. 修改runbroker.sh
    -Xms256m -Xmx256m -Xmn128m
  6. 启动broker
    nohup sh mqbroker -n localhost:9876 &
  7. 查看启动日志
    vi ~/logs/rocketmqlogs/broker.log
测试
  1. 执行jps 查看server和broker是否启动
  2. 开启两个窗口,在两个窗口都设置以下环境变量:
    export NAMESRV_ADDR=localhost:9876
  3. 一个窗口作为生产端:
    sh tools.sh org.apache.rocketmq.quickstart.Producer
  4. 一个窗口作为消费端:
    sh tools.sh org.apache.rocketmq.quickstart.Consumer
    可以看到消费端执行完毕后不会停止,依然在继续监听,此时执行生产端命令后消费端会继续消费消息。
集群角色

Producer:生产者
Consumer:消费者
Broker:暂存和传递消息
Nameserver:管理broker
Topic:区分消息的种类;一个生产者可以发给一个或多个topic,一个消费者可以订阅一个或多个topic
MessageQueue:相当于topic的分区;用于并行发送和接收消息

集群特点

nameserver是无状态的,broker会给所有nameserver发信息。
consumer与nameserver集群中的一个节点建立长连接,定期从中取topic路由信息,并向提供topic服务的master、slave建立长连接,且定时向master、slave发送心跳。consumer无状态。
producer与nameserver集群中的一个节点建立长连接,定期从中取topic路由信息,并向提供topic服务的master建立长连接,且定时向master发送心跳。produce无状态。
broker分主从,主写从读。一个master可以对应多个slave,一个slave只能对应一个master。通过相同Brokername分辨broker和slave之间的对应关系,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值