当前位置:网站首页>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 .
边栏推荐
- Popular understanding of ovo and ovr
- 嵌入式开发:避免开源软件的7个理由
- 使用AUR下载并安装常用程序
- From "zero sum game" to "positive sum game", PAAS triggered the third wave of cloud computing
- 分布式事务(Seata) 四大模式详解
- Detailed explanation of four modes of distributed transaction (Seata)
- Go语言自学系列 | golang中的if else语句
- App mobile terminal test [5] file writing and reading
- Distributed task scheduling XXL job
- Brush questions -- sword finger offer
猜你喜欢

找映射关系

Secsha system 1- login function
![SDNU_ ACM_ ICPC_ 2022_ Winter_ Practice_ 4th [individual]](/img/3b/7523eca5bbcdbba29d9b7f6e4791a5.jpg)
SDNU_ ACM_ ICPC_ 2022_ Winter_ Practice_ 4th [individual]
![[redis foundation] understand redis master-slave architecture, sentinel mode and cluster together (Demo detailed explanation)](/img/1f/3dd95522b8d5f03dd763a6779e3db5.jpg)
[redis foundation] understand redis master-slave architecture, sentinel mode and cluster together (Demo detailed explanation)

From the 18th line to the first line, the new story of the network security industry

Unity function - unity offline document download and use
![[系统安全] 四十三.Powershell恶意代码检测系列 (5)抽象语法树自动提取万字详解](/img/cd/00954b9c592c253d42e6a3b8298999.jpg)
[系统安全] 四十三.Powershell恶意代码检测系列 (5)抽象语法树自动提取万字详解
![[list to map] collectors Tomap syntax sharing (case practice)](/img/ac/e02deb1cb237806d357a88fb812852.jpg)
[list to map] collectors Tomap syntax sharing (case practice)

初试scikit-learn库

Break through 1million, sword finger 2million!
随机推荐
"Remake Apple product UI with Android" (3) - elegant statistical chart
关于网页中的文本选择以及统计选中文本长度
Redis在Windows以及Linux系统下的安装
首发!!lancet饿了么官方文档
用通达信炒股开户安全吗?
Microservice - declarative interface call openfeign
[combinatorics] combinatorial identities (recursive combinatorial identities | sum of variable terms | simple combinatorial identities and | sum of variable terms | staggered sums of combinatorial ide
UnityShader——MaterialCapture材质捕捉效果 (翡翠斧头)
软件逆向破解入门系列(1)—xdbg32/64的常见配置及功能窗口
Large CSV split and merge
Mongodb installation and basic operation
VC下Unicode和ANSI互转,CStringW和std::string互转
Go语言自学系列 | golang switch语句
App mobile terminal test [3] ADB command
Creation and destruction of function stack frames
MB10M-ASEMI整流桥MB10M
QT use qzxing to generate QR code
几种常见IO模型的原理
Go language self-study series | if else if statement in golang
The accept attribute of the El upload upload component restricts the file type (detailed explanation of the case)