The usage scenarios of message middleware include: 1. Asynchronous processing; 2. Application decoupling; 3. Traffic peak shaving; 4. Log processing; 5. Pure message communication.
The usage scenarios of message middleware are:
Why use message middleware
Solve the transmission of messages between distributed systems.
E-commerce scenario: Users place orders to reduce inventory, call the logistics system, service-oriented and business split after system expansion. For system interaction, RPC (remote procedure call) is generally used. If the system expands to have dozens of interfaces, message middleware will solve the problem.
What are the usage scenarios of message middleware
1. Asynchronous processing
User registration (50ms), still needs to be sent Email (50ms) and SMS (50ms)
Serial: (150ms) User registration -> Send email----> Send SMS
Parallel (100ms): User registration -> Send Email
a), |----》Send SMS
Message middleware (56ms):
User registration (50ms)—》(6ms) Message middleware "-----Send an email
And write the database,
2, send the mobile phone message that the registration is successful
3, send the email message that the registration is successful
If we use the old method, After registration, the text message will be sent and then the email will be sent. Too low
is generally used: after successful registration, use two threads to send emails and send text messages.
If you use message middleware: You can save the creation of two threads, send the message directly to the message middleware, and then let the mail service and SMS service go to the message middleware by themselves. Get the message, and then do the corresponding business operations after getting the message. It’s so convenient
2. Application decoupling
a), order system ---》Inventory system (strong coupling)b), Message middleware: Order system ---》Message middleware》----Inventory system (decoupling)
Description: The user purchases an order , the order is completed—》Calling the inventory system—1---》Return to the order system, which is considered a normal business at this time. There is also an abnormal business, that is, after the user order is completed, the order system does not use the inventory system-1 operation, but calls the message middleware to write an order information. The inventory system itself goes to the message middleware to obtain it, and then updates the inventory. This can reduce the speed attribute that Internet applications pursue. The inventory system reads the inventory between orders. This operation is actually very fast, so having message middleware is also a good direction for decoupling.
3. Traffic Peak Shaving
a), User Request-----》Second Kill Applicationb ), the front end of the application joins the message queue
c), user request-----》Message Queue》----Instant Kill Application
Instructions: For example, The system holds flash sales events for popular products. Traffic is pouring in. 100 items, what to do if 100,000 people crowd in? Put the 100,000 flash sale operation into the message queue. The flash kill application processes 100 of the 100,000 requests in the message queue, and the others are called back and the notification fails. The traffic peak is controlled at the message queue, and flash sale applications will not be killed instantly.
4. Log processing
a. Error log - --》Message Queue》----Log processingb), user behavior log--》Message Queue (kafka)《-----Log storage or streaming processing
Note: Log processing may always be Kafka’s strength. Big data log processing must be it. I have never used it. I only know that it is very powerful. Very powerful.
5. Pure message communication
The above is the detailed content of What are the usage scenarios of message middleware?. For more information, please follow other related articles on the PHP Chinese website!