RocketMQ学习(一)了解

  • 应用解耦
  • 异步消息
  • 流量削峰
  • 即时通讯

Topic:队列集合,它是消息的逻辑分类,比如有订单消息Topic和库存消息Topic,消费者通过该标识取对应消息;

Topic->Queue:Topic下可以有多个Queue,使得消息存储可以分布式集群化,具有水平扩展能力,这些Queue平均存储消息,持久化的类似数组的数据,是无限的,使用offset访问,offset相当于数组下标;

Tag:根据用途,Topic的细化分类,没错,更精确地标识消息流向;

Group:角色的实例集合;

Consumer消费:广播消费,均摊消费;

广播消费:消费者组的成员重复获得同一消息,于消息划分毫无意义;

集群消费:均摊,多个实例、进程或机器均分消费,例如某个Topic有30条消息,消费组有三个实例,则每个实例各消费10条消息;

数据与索引分离;

NAMESERVER:注册、路由;

Broker:RocketMQ系统的主要角色,其实就是MQ,接收Producer的消息,提供Consumer拉取消息的接口,灾难恢复,警报;

push||pull:消息订阅或消息拉取;

黑盒式:先不必关心内部实现;

Master节点:双Master,个人学习实践;

双主机:同步双写;

部署:一主一从;

搭建双Master:

vim /etc/hosts:配置解析

安装:

两种方式:

1解压

2源码打包

解压后即可使用,启动mqnamesrv &,启动mqbroker -n localhost:9876 &,export NAMESRV_ADDR=localhost:9876;

代码:调用生产者、消费者接口;

疑问:

broker启动不了,因为默认需要8G内存;

用官网实例发送和接收消息:

生产:

export NAMESRV_ADDR=localhost:9876

sh tools.sh org.apache.rocketmq.example.quickstart.Producer

消费:

sh tools.sh org.apache.rocketmq.example.quickstart.Consumer

在控制台可以看到消费日志;

发布了49 篇原创文章 · 获赞 6 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/cc007cc009/article/details/79498112