kafka/RocketMQ
kafka
核心思想:
提高消息高吞吐量,底层基于分区设计,大数据处理问题思路,将信息发送到多个分区,消费的时候也可以从多个分区消费,例如1W条消息,如果1W条消息都发送到1台机器上,这台机器负载会打的比较高,前端增加一个路由关系,发后端的时候,后端增加5台机器,那平均1台机器接受2千条消息,也就是说可以通过横向扩展的方式提高吞吐量
MQ设计核心思想也是这个思路
使用SDK收发信息
https://help.aliyun.com/zh/apsaramq-for-kafka/send-and-subscribe-to-messages-by-using-an-ssl-endpoint-with-plain-authentication?spm=a2c4g.11186623.0.i4
RocketMQ分4.0 和5.0版本
消息队列是分布式互联网架构的刚需和基础设施,系统之间可靠通信的桥梁
核心场景
应用解耦
削峰填谷
异步通知
分布式事务
大数据处理
互动直播
移动互联网+物联网
IM实时通信
Cache同步
日志监控
消息队列的核心价值
异步解耦:消息队列是异步设计、帮助业务系统实现调用的深度解耦合,上游和下游不会相互影响,系统健壮性更好
强连接驱动:消息队列连接各业务系统,承担多个业务系统的连接和驱动,业务系统基于消息事件来驱动
高性能、高可靠:免运维的消息队列承载了核心数据流,高性能、高吞吐、数据和服务可靠是必备的能力
SDK
remoting
gRPC协议
发送 接受能力
topic group
接入点
消息堆积
生成者 消费者
send receive
消息轨迹:消息ID topic
TAG能力
MQ
上云
QPS
kafka
大流量性
producer
kafka cluster
consumer
broker 0(分区1 分区2)
broker 1 (分区)
售卖:存储+流量
sdk消费
预留30%的量,出现限流
mq没有分区
kafka
接入点
用户名 密码
topic
group
rebalance