当前位置:网站首页>The wonderful relationship between message queue and express cabinet
The wonderful relationship between message queue and express cabinet
2022-07-07 23:00:00 【InfoQ】
One 、 The message queue is a delivery cabinet
- Message queues are compared to express cabinets: Many manufacturers produce express cabinets , Such as : Fengchao (apache kafka), Express mail (alibaba RocketMQ), Nearest neighbor treasure (ActiveMQ) wait , Anyway, these are the only ones commonly used . The express cabinet is responsible for temporary storage of mail , Message queue is responsible for temporarily saving message data .
- Couriers are compared to message producers: The courier is responsible for delivering mail to the express cabinet , The producer is responsible for delivering messages to the message queue . It's the same as different !
- Consumers are compared to news consumers: Maybe this example is too appropriate , So much so that this sentence is nonsense . Nonsense still needs to be said , Consumers in life pick up e-mail , Consumers in the program get message data .

Two 、 Express cabinet ( Message queue ) Benefits
- Asynchronous decoupling : With the express cabinet , Consumers don't have to wait for the courier , User experience enhancements . Consumers and producers ( Courier ) Decoupling between , Not because of the other party's operation behavior , Procedures that affect your independence . Users don't have to wait and receive events. Blocking takes time .
- Traffic peak clipping : Let's assume an extreme case , You bought... Through various channels 1000 This book , Suddenly, I'll call you intensively one hour . You certainly don't have the ability to charge for an hour 1000 The ability to send an email , So you ask the courier to put the mail in the express cabinet . So you can handle it according to your ability , Pick up the mail according to your own schedule . Similarly, our consumer programs are facing multiple users 、 In the case of highly concurrent requests , Putting the data into the message queue for saving can cut the peak of traffic data , Data consumption shall be carried out according to the processing capacity and resources of the program .
- Buffer batch : Batch delivery by producers , Shuang ! Consumers get multiple emails at one time , Shuang !
3、 ... and 、 Disadvantages of introducing express cabinet
- Introduce complexity . without doubt , Express cabinet ( Message queue ) This thing is extra , It doesn't exist in the original collection process . So I need a place to put it , Fire protection is also needed 、 Anti theft and moisture-proof , It needs to be maintained . The same is true for Message Queuing Middleware , You need to install it in the server area , And maintain it .
- It will cause temporary data inconsistency . If there is no express cabinet , When you receive an email, you really receive . But after using the express cabinet , You received " The message that the mail is put into the express cabinet ", But there will be a certain delay when you really get the email . Of course, you will eventually get the mail , choice " Message queue " Express cabinet , Is to endure temporary inconsistencies , Accept " Final consistency ".
- Of course, in extreme cases , The express cabinet is broken , You have to inevitably accept " Mail may be lost " Fact , For communities with high security coefficient, this will hardly happen .
边栏推荐
- Basic knowledge of linked list
- Ren Qian code compilation error modification
- Interview questions: how to test app performance?
- Yarn cannot view the historical task log of yarn after enabling ACL user authentication. Solution
- Class implementation of linear stack and linear queue (another binary tree pointer version)
- Ni9185 and ni9234 hardware settings in Ni Max
- Details of the open source framework of microservice architecture
- [environment] pycharm sets the tool to convert QRC into py file
- DTC社群运营怎么做?
- 7-18 simple simulation of banking business queue
猜你喜欢
Matplotlib quick start
Robot autonomous exploration series papers environment code
Nx10.0 installation tutorial
微服务远程Debug,Nocalhost + Rainbond微服务开发第二弹
Visual design form QT designer design gui single form program
PHP method of obtaining image information
行測-圖形推理-4-字母類
How to judge whether the input content is "number"
聊聊 Dart 的空安全 (null safety) 特性
Online interview, how to better express yourself? In this way, the passing rate will be increased by 50%~
随机推荐
CTF练习
Debezium series: source code reading snapshot reader
[environment] pycharm sets the tool to convert QRC into py file
Failed to initialize rosdep after installing ROS
Visual design form QT designer design gui single form program
XMIND mind mapping software sharing
Build an "immune" barrier in the cloud to prepare your data
Ligne - raisonnement graphique - 4 - classe de lettres
Amesim2016 and matlab2017b joint simulation environment construction
Cause analysis and solution of too laggy page of [test interview questions]
7-18 simple simulation of banking business queue
Debezium系列之:支持 mysql8 的 set role 语句
Basic knowledge of binary tree
Years of summary, some core suggestions for learning programming
安踏DTC | 安踏转型,构建不只有FILA的增长飞轮
Yarn cannot view the historical task log of yarn after enabling ACL user authentication. Solution
Some parameters of Haikang IPC
小程序多种开发方式对比-跨端?低代码?原生?还是云开发?
Force deduction - question 561 - array splitting I - step by step parsing
Line measurement - graphic reasoning -9- line problem class