简体   繁体   中英

What is a broker, topic, queue

I tried to find details about broker, topic, queue; but couldn't get good results. I tried to Google on these topics but couldn't find much. Can somebody help explaining these concepts.

It is true that finding a simple answer is a bit difficult.

I found this Red Hat page with two simple diagram explaining JMS principles. As TIBCO EMS is ALSO an JMS implementation, the same theory about Queue and Topics applies.

To be even more "TIBCO-oriented" in my answer, please refer to page 3 and 4 of the EMS User Guide ( latest version ).

To summarize:

Queues

  • Are used for "point-to-point" messaging models (it does not mean the whole integration solution should be considered point-to-point, you can do good EAI with Queues).
  • They usually store the messages even if no message consumers are connected.
  • They can be used for asynchronous communications (ex: producer and consumer not available at the same time), load sharing (ie: if more than one consumer, only one will get the message) and overall message based integration ( see this book ).

Topics

  • Are mainly used for "publish-subscribe" messaging models.
  • Usually, if they are no subscribers, all published messages are "lost" (by design). Durable subscription can compensate for this, and in essence amounts to "pub-sub subscribers queues".

Note: In EMS, Queues and topics can be "chained" by "bridges" to give even more functionality. Others products have similar features.

Broker

A broker typically refer to both the " Message Broker " pattern from the above book reference AND to specialized products. Typically, "broker" is the role of "intelligent integration manager" given to BusinessWorks (or similar products like webMethods IS or IBM Integration Bus / Websphere Message Broker). These products are usually central to any ESB/EAI project, since they tie the messaging system with mapping, programming languages (proprietary or open like Java) and adapters to specific systems (Mainframe, ERP, etc.)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM