This article was inspired by one of my favorite articles: what would all 442 Chinese emperors talk about if they were put together in a group?

In fact, I wrote my first article wukong Chat about No Business in this way, which is also the source of my official account, called wukong Chat Framework.

This article will also take a look at some of the oddities of message queues in the computer world in the form of group chat, single chat, and moments.

Those of you in software development have heard of or used message queues, such as RabbitMQ and Kafka. Message queuing simply means that a producer puts a number of messages into a queue structure for consumption by other consumers. To learn more about queues, take a look at the 18 queues I wrote earlier to make sure they’re clean. Portal: 45 graphs solve 18 queues.

So what happens if you pull the four common message queues into a group?

Be abandon

The four queues are pulled into a group by the middleware leader.

Group name: Wukong Chat framework Group.

Number of members: 25.

Administrator: Middleware team leader.

Group leader: Mysterious Brother Wukong.

Take a look at their chat interface

👇 👇 👇

RabbitMQ talking to the middleware leader alone.

Stories involved:

  • Erlang is what?
    • It’s not a new language. It came into being in 1987. It’s not an object-oriented language.
    • Functional programming, based on process concurrency, high concurrency, distributed is its advantage.
    • Designed specifically for communication applications by Ericsson manufacturers, it is mainly used in the game field in China.
  • Why is Erlang deprecated by other queues?
    • Because RocketMQ and ActiveMQ are implemented in Java, and Kafka is implemented in Scala and Java, all three message queues are somewhat similar in language implementation.
    • In the current super popular Java technology ecosystem in China, few people know Java and Erlang, and even fewer are willing to spend time and energy on Erlang.

Fast and slow

Stories involved:

  • What low latency are they talking about?
    • This means that the response time of the message queue is very fast, such as the insertion of a message, can return the insertion result very quickly. It can be interpreted as a shorter reflection arc. RabbitMQ has a low latency of microseconds, whereas the other three queues have a low latency of milliseconds.
  • What throughput are they talking about?
    • Throughput: The number of requests handled by the system per unit of time.
    • RocketMQ calls itself a rocket for a reason, because it handles requests so quickly. Throughput can reach 100,000 levels, while the other three queues are all 10,000 levels.

No interface vs community cool

What interface are they talking about?

  • RabbitMQ, ActiveMQ, and Kafka all have interfaces to manipulate queues or messages, whereas RocketMQ is a bit of a crapshoot, providing only command-line tools, which can be a real pain for long-time Windows users.

What are they talking about ali products?

  • RocketMQ is produced by Alibaba, which has been donated to the Apache open source community. It is not very active. Will there be no bug fixes?
  • RabbitMQ has an active open source community, there are always bugs to fix, which one would you prefer? RocketMQ is recommended for large companies. You can do it yourself, but use RabbitMQ for smaller ones to save on the cost of solving the problem.

Mysql circle of friends

Mysql can’t fly friends circle

Middleware captain pull mysql will not fly into the group chat.

Stories involved:

Message queues are commonly used in decoupling, peak clipping, and asynchronous scenarios. Let’s start with a few simple words:

  • Wukong plain words cut peak: key words: don’t throw me! Double tenth during a super multi-user order, for example, if 100000 requests to the database, the database is hit so many requests at once, then the message queue to clearance, put the request to the message queue, order service take messages from the message queue processing order request, have played an important role in a buffer, so the pressure of the database is much smaller.

  • Wukong plain words decoupling: key words: who uses who takes. System A needs to transmit data to system B, C, D, and E. System A needs to consider the four systems B, C, D, and E when they break down. Do you want to repost, do you want to persist messages? There are too many problems for System A to consider, but system A is exhausted. This is A highly coupled phenomenon, BCDE four systems are strongly dependent on system A. How do you decouple that? System A will throw data into the message queue, BCDE system itself when it wants data to go to the message queue to get.

  • Wukongda vernacular asynchronous: key words: busy your first ~. For example, from the next order payment to the success of the order, the closed loop may be very long. For example, users may have to wait for a long time to send the success message of the order, give coupons and other operations, and the user experience may be poor. How to solve this problem? You can throw the successful order message into the queue, quickly return the successful order, and then inform the user, after the message reaches the system and then get the order data from the queue, send the order message and coupon to the user in turn, this is asynchronous.

Message queue embarrassment

The big four message queues went to see this article and I heard that it was reposted 19 times by various major groups. Portal: these three years have been devastated by distributed pits, exposing ten pits

eggs

Mysql can’t Fly uses Jay Chou’s song superman can’t Fly

Nigix Sunshine Boy uses Jay Chou’s song: Sunshine Boy

I am a candy bobo’s wechat nickname.

This architecture chat group has 26 members, members have message queue, each major database, distributed middleware, want to enter the group to have a look at their chat? Add my wechat PassJava remarks [add group]

Write in the last

Guess how many phones I used to take screenshots of the chat?

Hello, I’m Brother Wukong, “7 years of project development experience, full stack engineer, development team leader, love the basic principles of graphic programming”.

I also handwritten 2 small program, Java brush small program, PMP brush small program, click on my public menu to open! There are also 111 architect profiles and 1,000 Java interview questions, all in PDF format. You can follow the public account “Wukong chat framework” to reply to Wukong to receive quality information.

“Forward -> see -> like -> favorites -> comment!!” Is the biggest support for me!