Mq---ActiveMq,RabbitMq,Zookeepr
2021-05-10 17:08:27 1 举报
AI智能生成
消息中间件?原理是什么?消息机制什么?知其然,知其所以然
作者其他创作
大纲/内容
架构
client--客户端通过端口建立连接
Server--Mq打开端口
client---把收到的socket放入阻塞队列
client---handler监听阻塞的是否有数据
client--生成transport用来处理链路的状态
建立链路完成
建立连接
关闭连接
Broker心跳
Client心跳
ReacCheck
WriteCheck
每隔一段固定的时间调用一次
定时器
双心跳
消息机制
Queue模式
不区分消费者
根据广播发送
普通订阅
区分消费者
持久订阅
Topic模式
https://www.cnblogs.com/shamo89/p/8092714.html
消息模式(2种)
Activemq
一台kafka机器就是一个broker;
broker
点对点模式
发布订阅模式
删除文件可配置参数:log.retention.hours=16log.retention.bytes=1g
特殊说明
消息模式(共2种)
segment
partition 0
partition 1
topic一个topic可以有多个partition
规则
两个落地文件: .index 与.log
segement 1落地文件:00000000000000009015.index00000000000000009015.log
文件
存储示意图
存储
存储机制
发送的可靠性
同步成功
HW( high watemark)维护了hw这个记录了最后一次的offset
同步失败
ISR in-sync replica set同步副本集
ISR
副本可靠性
解决消费不均衡的问题
RoundRobin 轮询
consumer自己订阅 topic的partition
Range 默认
partion消费策略
可靠性
kafka
消息架构
发送消息
创建路由关键字
队列&交换机绑定
创建会话
Provider提供者
A:实现消费(结束)
自动回复mq
autoAck=true
编程自行回复
autoAck=false
队列监听
B:实现消费(结束)
绑定队列
Consumer消费者
简单粗暴
Fanout 扇形即广播模式
适用于有消息优先级的场景
Direct 直连
1、主题Topic Key String EXCHANGE_TOPICS_INFORM=\"exchange_topics_inform\
2、交换机key String ROUTINGKEY_EMAIL=\"inform.#.email.#\";
3、队列 key String QUEUE_INFORM_EMAIL = \"queue_inform_email\";
Provider
1、队列key String QUEUE_INFORM_EMAIL = \"queue_inform_email\";
Consumer
Topic 主题(用的最多)
Headers 首部
消息模式 (共4种)
RabbitMq
更新系统状态
Leader
接收请求
Follower
每一个节点能存储1MB数据
存储结构
Server
一致性
Paxos
Zookeeper
activemq
主要介绍
MQ
0 条评论
回复 删除
下一页