What is an MQ and why do I want to use it?

后端 未结 6 680
傲寒
傲寒 2021-01-30 10:33

On my team at work, we use the IBM MQ technology a lot for cross-application communication. I\'ve seen lately on Hacker News and other places about other MQ technologies like Ra

6条回答
  •  渐次进展
    2021-01-30 11:09

    Message queueuing systems are supposed to give you several bonuses. Among most important ones are monitoring and transactional behavior.

    Transactional design is important if you want to be immune to failures, such as power failure. Imagine that you want to notify a bank system of ATM money withdrawal, and it has to be done exactly once per request, no matter what servers failed temporarily in the middle. MQ systems would allow you to coordinate transactions across multiple database, MQ and other systems.

    Needless to say, such systems are very slow compared to named pipes, TCP or other non-transactional tools. If high performance is required, you would not allow your messages to be written thru disk. Instead, it will complicate your design - to achieve exotic reliable AND fast communication, which pushes the designer into really non-trivial tricks.

    MQ systems normally allow users to watch the queue contents, write plugins, clear queus, etc.

提交回复
热议问题