tibcotibco-emsems

Minimizing bandwidth on multiple Tibco brokers / destinations


My experience with setting up Tibco infrastructure is minimal, so please excuse any misuse of terminology, and correct me where wrong.

I am a developer in an organization where I don't have access to how the backend is setup for Tibco.  However we have bandwidth issues between our regional centers, which I believe is due to how it's setup.

We have a producer that sends a message to multiple "regional" brokers.  However these won't always have a client who needs to subscribe to the messages.

I have 3 questions around this:

For destination bridges: https://docs.tibco.com/pub/ems/8.6.0/doc/html/GUID-174DF38C-4FDA-445C-BF05-0C6E93B20189.html

  1. Is a bridge what would normally be used, to have a producer send the same message to multiple brokers/destinations or is there something else?

  2. It's not clear in the documentation, if a bridge exists to a destination where there is no client consuming a message, does the message still get sent to that destination?  I.e., will this consume bandwidth even with no client wanting it?

  3. If the above is true (and messages are only sent to destinations with a consumer), does this apply to both Topics and Message Selectors?


Solution

    1. Is a bridge what would normally be used, to have a producer send the same message to multiple brokers/destinations or is there something else?

    A bridge can be used to send messages from one destination to multiple destinations (queues or topic). Alternatively Topics can be used to send a message to multiple consumer applications. Topics are not the best solution if a high level of integrity is needed(no message losses, queuing, etc).

    1. It's not clear in the documentation, if a bridge exists to a destination where there is no client consuming a message, does the message still get sent to that destination? I.e., will this consume bandwidth even with no client wanting it?

    If the bridge destination is a queue, messages will be put in the queue. If the bridge destination is a Topic, messages will be distributed only if there are active consumers applications (or durable subscribers).

    3 If the above is true (and messages are only sent to destinations with a consumer), does this apply to both Topics and Message Selectors?

    This applies only to Topics (when there is no durable subscriber)

    An alternative approach would be to use routing between EMS servers. In this approach Topics are send to remote EMS servers only when there is a consumer connected to the remote EMS server (or if there is a durable subscriber) https://docs.tibco.com/pub/ems/8.6.0/doc/html/GUID-FFAAE7C8-448F-4260-9E14-0ACA02F1ED5A.html