当前位置:网站首页>Getting started with Message Oriented Middleware
Getting started with Message Oriented Middleware
2022-07-03 16:01:00 【Concealed wind】
1、 What is message middleware
Make use of efficient and reliable messaging mechanism for platform independent data exchange ;
And the integration of distributed system based on data communication ;
By providing messaging and message queuing models , It can expand communication between processes in a distributed environment ;
2、 Application scenarios of message middleware
Cross system data transfer 、 Peak clipping of high concurrent traffic 、 Data asynchronous processing … wait
3、 Common message middleware
ActiveMQ、RabbitMQ、Kafka、RocketMQ
4、 Design idea of Message Oriented Middleware
agreement 、 Persistence mechanism 、 Message distribution strategy 、 High availability 、 Highly reliable
5、 What is the protocol
A protocol is a set of agreements that computers follow when communicating with each other , All follow the same agreement , Computers can communicate with each other . A protocol is a set of agreements that computers follow when communicating with each other , All follow the same agreement , Computers can communicate with each other .
Three elements of agreement :
grammar : That is, the structure or format of data and control information ;
semantics : That is, what kind of control information needs to be sent , What actions to complete and what responses to make ;sequential ( Sync ): That is, a detailed description of the sequence of event implementation
Message middleware commonly used protocol :OpenWire、AMQP、MQTT、Kafka、OpenMessage
MQTT agreement (RabbiMQ、ActiveMQ):
MQTT (Message Queuing Telemetry Transport) Message queuing telemetry transmission is IBM Developed an instant messaging protocol , An important part of the architecture of the Internet of things .
characteristic : Light weight 、 Simple structure 、 Fast transmission 、 No transaction support 、 No persistence related design
Application scenarios : It is suitable for those with limited computing power 、 Low bandwidth 、 The scene of network instability .
Open Message agreement (RocketMQ)
OpenMessaging It was initiated by Ali in the last year or two , With Yahoo 、 Drops travel 、Streamlio The distributed message middleware, which was founded by companies such as 、 Application development standards in the field of stream processing . It is the first international standard in the field of distributed messaging launched globally in China .
characteristic : Simple structure 、 Fast parsing 、 With transaction design 、 Persistent design
Kafka agreement (kafka)
Kafka The protocol is based on TCP Binary protocol . Messages are separated by length , It consists of some basic data types .
characteristic : Simple structure 、 Fast parsing 、 No transaction design 、 Persistent design
6、 Common persistence methods
ActiveMQ | RabbitMQ | Kafka | RocketMQ | |
---|---|---|---|---|
file system | Support | Support | Support | Support |
database | Support | / | / | / |
7、 Common message oriented middleware distribution strategies
ActiveMQ | RabbitMQ | Kafka | RocketMQ | |
---|---|---|---|---|
Publish subscribe | Support | Support | Support | Support |
Poll distribution | Support | Support | Support | / |
Fair distribution | / | Support | Support | / |
retransmission | Support | Support | / | Support |
Message pull | / | Support | Support | Support |
8、 High Availability Mechanism
High availability It refers to the ability of the product to perform the specified function under the specified conditions and within the specified time or time interval .
When there's a lot of business , A message oriented middleware server may not meet the requirements , Therefore, message oriented middleware is required to be able to be deployed in clusters , To achieve high availability .
Master-Slave The deployment of master-slave shared data
Master-Slave Master slave synchronous deployment mode
Broker-Cluster Multi master cluster synchronous deployment mode
Broker-Cluster Multi master cluster forwarding deployment mode
Master-Slave And Broker-Cluster combination
9、 What is high reliability
High reliability means that the system can operate continuously without failure . For example, a system never crashes 、 Report errors , Or collapse 、 The probability of reporting errors is low , That is high reliability .
In the high concurrency business scenario , If you can't guarantee the high reliability of the system , The damage will be very serious .
Ensure the high reliability of message middleware , Consider from the following aspects
Reliable message transmission : Through the protocol to ensure the correctness of data analysis between systems .
Reliable message storage : To ensure the storage reliability of messages through persistence .
边栏推荐
- [200 opencv routines] 217 Mouse interaction to obtain polygon area (ROI)
- 半监督学习
- Unityshader - materialcapture material capture effect (Emerald axe)
- 六月 致 -.-- -..- -
- Effect of ARP package on FTP dump under vxworks-6.6 system
- 秒杀系统3-商品列表和商品详情
- App mobile terminal test [3] ADB command
- Custom annotation
- MongoDB 的安装和基本操作
- Nifi from introduction to practice (nanny level tutorial) - flow
猜你喜欢
[system safety] 43 PowerShell malicious code detection series (5) automatic extraction of ten thousand words from abstract syntax tree
子类隐藏父类的同名函数
App移动端测试【3】ADB命令
[redis foundation] understand redis master-slave architecture, sentinel mode and cluster together (Demo detailed explanation)
秒殺系統3-商品列錶和商品詳情
深度学习之三维重建
Microservice - fuse hystrix
Please be prepared to lose your job at any time within 3 years?
SDNU_ ACM_ ICPC_ 2022_ Winter_ Practice_ 4th [individual]
Project -- high concurrency memory pool
随机推荐
Driver and application communication
Unityshader - materialcapture material capture effect (Emerald axe)
Detailed explanation of string function and string function with unlimited length
[combinatorics] combinatorial identity (sum of variable upper terms 1 combinatorial identity | summary of three combinatorial identity proof methods | proof of sum of variable upper terms 1 combinator
用同花顺炒股开户安全吗?
CString在多线程中的问题
Create gradle project
互斥对象与临界区的区别
[list to map] collectors Tomap syntax sharing (case practice)
WinDbg分析dump文件
App移动端测试【3】ADB命令
ASEMI整流桥UMB10F参数,UMB10F规格,UMB10F封装
SDNU_ ACM_ ICPC_ 2022_ Winter_ Practice_ 4th [individual]
App移动端测试【5】文件的写入、读取
Get the executable path through the process PID (queryfullprocessimagename)
Unity function - unity offline document download and use
Calibre LVL
Go language self-study series | golang switch statement
Project -- high concurrency memory pool
Win32 create window and button (lightweight)