heima的mq实战------1

实战之前的热身:

producer只与master建立长连接,发心跳给master,master发现producer异常就关闭连接。

------

惯例,代码:

资料:

文档:

这个文档一定要看的:

控制台等软件,这里打包jar包:

---

安装:

下载这个版本就不用安装依赖了。

修改的参数:

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m  -XX:MaxMetaspaceSize=320m"

notwpad查看linux的文件:

--------------------------------------------------------------------

异步 削峰 解耦 数据分发

broker和nameServer:每个Broker与集群中的所有的nameServer建立长连接,定时注册topic信息到所有的nameServer。

producer与nameServer的其中的一个节点建立长连接,定时拉取路由信息。和提供topic服务的broker建立长连接(master),向broker(master)发送心跳。

consumer与namseServer其中一个节点建立长连接,定时拉取路由信息,和提供topic服务的broker(master和slave)建立长连接,向broker(master,slave)发送和心跳。

---01-11---

具体的配置hosts文件:

# nameserver
192.168.244.128 rocketmq-nameserver1
192.168.244.129 rocketmq-nameserver2
# broker
192.168.244.128 rocketmq-master1
192.168.244.128 rocketmq-slave2
192.168.244.129 rocketmq-master2
192.168.244.129 rocketmq-slave1

配置下环境变量:

路径:cd /usr/local/apps/rocketmq-all-4.4.0/distribution/target/apache-rocketmq

同步的

配置master1和slave2

配置master2和slave1

注意:对外监听的端口号是一定不可以重复的。

启动:

路径:cd /usr/local/apps/

nohup java -jar rocketmq-console-ng-1.0.1.jar

-

路径:cd /usr/local/apps/rocketmq-all-4.4.0/distribution/target/apache-rocketmq/bin

nohup sh mqnamesrv &

master1的启动:nohup sh mqbroker -c ../conf/2m-2s-sync/broker-a.properties &

slave2的启动:nohup sh mqbroker -c ../conf/2m-2s-sync/broker-b-s.properties &

master2的启动:nohup sh mqbroker -c ../conf/2m-2s-sync/broker-b.properties &

slave1的启动:nohup sh mqbroker -c ../conf/2m-2s-sync/broker-a-s.properties &

-

路径:

cd 2m-2s-sync/

commitlog  consumequeue  index
---

mkdir /usr/local/rocketmq/store
mkdir /usr/local/rocketmq/store/commitlog
mkdir /usr/local/rocketmq/store/consumequeue
mkdir /usr/local/rocketmq/store/index

mkdir /usr/local/rocketmq/storeslave
mkdir /usr/local/rocketmq/storeslave/commitlog
mkdir /usr/local/rocketmq/storeslave/consumequeue
mkdir /usr/local/rocketmq/storeslave/index

---

监控器:

修改下配置文件:

虚拟机文件的地址

 

访问地址:http://192.168.244.128:8080/#/cluster

---12-17---

代码:

集群的地址:192.168.244.128:9876;192.168.244.129:9876

注意此时是不能访问的,要加入一句话:

普通的消息消费:

发送同步消息:

一个重要的知识点,如果两个消费者不在一个消费者组合的话,那么他们同时消费一个主题的话,会分别消费掉这个主题的全部信息,而不是负载均衡,相当于广播。

发送异步消息:

发送单向消息

消息消费的基本流程:

广播模式和集群模式:

默认是集群的负载均衡。

疑问:我们试验下不在一个消费者组:

集群模式不在一个消费者组合的话每个消费者组都消费一次消息。

顺序消息:

保证局部消息的顺序消费就可以了。

就是保证张三和李四的消费是有序的。

思路:张三的步骤都放在一个队列里面,消费的话对一个队列是单线程的消费。

顺序消息的消费者:

看下控制台输出的线程名称。

---

消费:

同一个订单是同一个线程。

空间不足的错误:https://www.cnblogs.com/shenrong/p/12670555.html

延时消息:

批量消息:

消息的过滤:tag和sql。

---

事务消息:

null是不针对某个消息而是整个的。

---18-34---

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章