当前位置:网站首页>Technical Selection of Message Queuing
Technical Selection of Message Queuing
2022-08-02 16:04:00 【zhangyu】
Message Queuing Enterprise Application Scenario Analysis
- Message Queue: A container for storing messages during message transmission. Producers and consumers do not communicate directly, relying on queues to ensure message reliability and avoid mutual influence between systems.
- Major roles of message queue: server, client
- The main functions of message queues: business decoupling, asynchronous calls, traffic peak shaving
- Advantages of decoupling: improve system stability, avoid multiple calls by broadcasting messages, and asynchronously process through message queues for scenarios where you don't need to pay attention to call results
Comparative analysis of message queue selection, why use RocketMQ
| feature comparison | Maturity | Sequence Message | Delayed message | Transaction message | Message filtering | Message query | Consumption failure retry | Batch send |
|---|---|---|---|---|---|---|---|---|
| kafka | Log Field | Support | Not supported | Not supported | Support | Not supported | Not supported | Support |
| RabbitMQ | Mature | Support | Not supported | Not supported | Not supported | Not supported | Support | Not supported |
| RocketMQ | Mature | Support | Specific LV | Support | Support | Support | Support | Not supported |
| Utility | Deployment method | Cluster Management | Select the main method | Master-slave switch | Data reliability | Performance | Availability | Stackability |
|---|---|---|---|---|---|---|---|---|
| kafka | Clusters | Zookeeper | Automatic elections | Auto switch | High | Very high | Distributed, master-slave | Very good |
| RabbitMQ | Clusters | Erlang native support | The oldest joined node | Auto switch | High | in | Master-Slave | General |
| RocketMQ | Clusters | Name Server | Not supported | Auto switching is not supported | High | High | Distributed, master-slave | Very good |
- Kafka: a data stream channel between systems
- RabbitMQ: Reliable Messaging
- RocketMQ: High-performance reliable messaging
Analysis of MQ High Availability and High Expansion Solutions
- RocketMQ Architecture
- Broker master-slave deployment, its own information is registered in NameServer
- Client gets broker information from NameServer
- NameServer nodes are independent of each other, no data interaction
- Reliability Analysis
- Sync Flash: low performance, high reliability
- Asynchronous flushing: high performance, low reliability

- Asynchronous replication
- Sync Double Write
- Usability Analysis
- Master-slave mode Master is down: Broker is readable but not writable
- How to build a cluster
- Single Master Mode
- Multi-Master Mode
- Multi-Master Multi-Slave Mode-Asynchronous Replication
- Multi-Master Multi-Slave Mode-Synchronous Double Write
Analysis of MQ service registration and discovery principles
- Registry Center—NameServer Design
- Service registration: Broker registers itself with information
- Service Discovery: Procucer/Consumer Find Broker Information
- Registry Center—NameServer Design Advantages
- Design goals are simple and efficient
- High availability solution: multiple nodes independent of each other
- Data Storage Design
- Cluster-
- Broker1 -
- Topic-
- Broker-heartbeat
- Cluster-
边栏推荐
猜你喜欢
随机推荐
【线程网络】了解线程属性(fork/interview question)
Oauth2.0 认证服务器添加验证码登陆方式
MMD->Unity一站式解决方案
关于推荐系统的随想
win10无法识别蓝牙麦克风
mininet multihomed topology
JOOQ 报错 StackOverflowError
光波导k域布局可视化(“神奇的圆环”)
光导布局设计工具
泰伯效应的建模
戴森球计划这个游戏牛逼
代码细节带来的极致体验,ShardingSphere 5.1.0 性能提升密钥
Unity-Ads广告插件
Unity插件-NGUI
udp transparent proxy
Run ns3 with multiple processes
OpenPose 运行指令 ([email protected])
转行软件测试,从零收入到月薪过万,人生迎来新转折
极简式 Unity 获取 bilibili 直播弹幕、SC、上舰、礼物等 插件
企业的电子签名、私钥签名









