当前位置:网站首页>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 .
边栏推荐
- Low level version of drawing interface (explain each step in detail)
- First!! Is lancet hungry? Official documents
- Detailed pointer advanced 2
- Get the executable path through the process PID (queryfullprocessimagename)
- Nifi from introduction to practice (nanny level tutorial) - flow
- Second kill system 3 - list of items and item details
- 潘多拉 IOT 开发板学习(HAL 库)—— 实验5 外部中断实验(学习笔记)
- 【Proteus仿真】8×8LED点阵屏仿电梯数字滚动显示
- MB10M-ASEMI整流桥MB10M
- The difference between calling by value and simulating calling by reference
猜你喜欢
Creation and destruction of function stack frames
Semi supervised learning
从 flask 服务端代码自动生成客户端代码 -- flask-native-stubs 库介绍
C language brush questions ~leetcode and simple questions of niuke.com
Function introduction of JMeter thread group
[系统安全] 四十三.Powershell恶意代码检测系列 (5)抽象语法树自动提取万字详解
About text selection in web pages and counting the length of selected text
String functions that you need to know
How to use annotations such as @notnull to verify and handle global exceptions
使用AUR下载并安装常用程序
随机推荐
Microservice - Nacos registration center and configuration center
Vs2017 is driven by IP debugging (dual machine debugging)
VS2017通过IP调试驱动(双机调试)
Wechat payment -jsapi: code implementation (payment asynchronous callback, Chinese parameter solution)
Download and install common programs using AUR
App mobile terminal test [4] APK operation
Shell script import and export data
Automatic generation of client code from flask server code -- Introduction to flask native stubs Library
[list to map] collectors Tomap syntax sharing (case practice)
坚持输出需要不断学习
How can technology managers quickly improve leadership?
[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
Intelij idea efficient skills (III)
String functions that you need to know
Microservice - declarative interface call openfeign
Tensorflow realizes verification code recognition (III)
UnityShader——MaterialCapture材质捕捉效果 (翡翠斧头)
The wonderful use of do{}while()
QT use qzxing to generate QR code
Win32 create window and button (lightweight)