当前位置:网站首页>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 .
边栏推荐
- 0-5VAC转4-20mA交流电流隔离变送器/转换模块
- QT graphicsview graphical view usage summary with flow chart development case prototype
- 行測-圖形推理-4-字母類
- Line test - graphic reasoning - 2 - black and white lattice class
- DTC社群运营怎么做?
- Debezium series: support the use of variables in the Kill Command
- The PHP source code of the new website + remove authorization / support burning goose instead of pumping
- ASEMI整流桥KBPC1510的型号数字代表什么
- Digital transformation: five steps to promote enterprise progress
- 双非大厂测试员亲述:对测试员来说,学历重要吗?
猜你喜欢
Amesim2016 and matlab2017b joint simulation environment construction
Microservice Remote debug, nocalhost + rainbond microservice Development second Bomb
Leetcode1984. Minimum difference in student scores
Interview questions: how to test app performance?
Line test - graphic reasoning - 4 - alphabetic class
肠道里的微生物和皮肤上的一样吗?
C # realizes the communication between Modbus protocol and PLC
微服务远程Debug,Nocalhost + Rainbond微服务开发第二弹
What does the model number of asemi rectifier bridge kbpc1510 represent
Line test - graphic reasoning - 1 - Chinese character class
随机推荐
C # realizes the communication between Modbus protocol and PLC
Time convolution Network + soft threshold + attention mechanism to realize residual life prediction of mechanical equipment
Cataloger integrates lidar and IMU for 2D mapping
QT graphicsview graphical view usage summary with flow chart development case prototype
Build an "immune" barrier in the cloud to prepare your data
Why is network i/o blocked?
Debezium系列之:mysql墓碑事件
Early childhood education industry of "screwing bar": trillion market, difficult to be a giant
行测-图形推理-2-黑白格类
LeetCode206. Reverse linked list [double pointer and recursion]
Take full control! Create a "leading cockpit" for smart city construction
What does the model number of asemi rectifier bridge kbpc1510 represent
Two minutes, talk about some wrong understandings of MySQL index
Quick sort (diagram +c code)
线上面试,该如何更好的表现自己?这样做,提高50%通过率~
Leetcode206. Reverse linked list
Online interview, how to better express yourself? In this way, the passing rate will be increased by 50%~
C # Development -- pit encountered in JS intermodulation
行測-圖形推理-4-字母類
Form组件常用校验规则-2(持续更新中~)