JMS message queues and

  JMS, Java Message Service, the Java Message Service.

  MOM, Message Oriented Miiddleware abbreviation refers to the use of efficient and reliable messaging platform-independent mechanism for data exchange and data communication is performed based on the distributed system integration.

  JMS is a set of Java API standard, was originally intended to enable applications to access existing MOM systems, later adopted by many existing MOM vendors, and implemented as a MOM system.

  Common MOM system have the Apache ActiveMQ, BEA's RabbitMQ, Alibaba RocketMQ, IBM's MQSeries, Microsoft's MSMQ, but not all systems follow MOM JMS specification.

  Based on MOM JMS implementation, also known as JMS Provider.

  "Message" is the unit of data transfer between two computers. Message can be very simple, for example, contain only text strings, can also be very complex, may contain embedded objects.

  Message is sent to the queue. "Message queue" message is successfully saved message during transmission of the container. Message manager acts as an intermediary when the relayed message from its source to its target. Queue object is to provide guaranteed delivery of messages and routing. If the recipient is unavailable to send a message, the message queue message is saved until it can successfully pass.

  The main features of the message queue is an asynchronous process, the main purpose is to reduce the response time and decouple the request. Therefore, the main usage scenario is time-consuming and does not require even the (synchronous) returns the result of the operation as a message into the message queue. At the same time the use of a message queue, as long as the same message format, the message sender and the message recipient does not need to contact each other, not in need of each other's influence, namely decoupling.

  Asynchronous communication across systems, all require asynchronous interaction where you can use a message queue, just like in addition to our call (synchronous), it also can be used to send text messages, e-mail and other asynchronous communication.

  A plurality of coupling between the applications, since the message language-independent and platform-independent, but is no longer semantically function calls, and therefore more suitable for loose coupling between the plurality of application interfaces. Coupling based message queue, the sender and the recipient need not online at the same time.

  In the EAI (enterprise application integration), the file transfer, shared databases, message queues, remote procedure calls can be used as an integrated approach.

  Synchronization mutation step within the application, such as order processing, you can use the front-end order information into the queue, the back-end application message processing from the queue to get in order, a large number of orders during the peak can be stuck in queue slowly disposed of. Since the synchronization usually means blocking and the blocked large number of threads will reduce the performance of your computer.

  The EDA (message-driven architecture), the system is decomposed into message queue, the message producers and message consumers, a process flow can split a pair of Stage (Stage) If necessary, the use of queues connected between stage before a stage of the process put into the queue result, the phase of acquiring a message from the message queue processing continues.

  Applications require a more flexible coupling, such as publish and subscribe, for example you can specify the routing rules.

  Across a local area network, or even across the communications of the city, such as Beijing room communication with the application of Guangzhou room.

Guess you like

Origin www.cnblogs.com/guanghe/p/10979599.html