Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
OSEE/Design/Messaging
Contents
- 1 Messaging System Design Notes
- 1.1 What is the broker topology
- 1.2 What are the topics/queue names, what are their functions, and how do we use them
- 1.2.1 CONSIDERATIONS:
- 1.2.2 Example Messages
- 1.2.2.1 queue:OSEE.persistence.createBranch
- 1.2.2.2 topic:OSEE.persistence.newBranch
- 1.2.2.3 topic:OSEE.OTE.station.global.statusRequest
- 1.2.2.4 topic:OSEE.OTE.station.global.statusResponse
- 1.2.2.5 topic:OSEE.OTE.station.<station_name>.<station_id>.status
- 1.2.2.6 topic:OSEE.OTE.station.<station_name>.<station_id>.command
- 1.2.2.7 topic:OSEE.OTE.station.<station_name>.<station_id>.<model>.command
- 1.2.2.8 topic:OSEE.OTE.station.<station_name>.<station_id>.<model>.status
Messaging System Design Notes
What is the broker topology
network of brokers, sun803 + ail4dell + dts01, we need to make sure ote can function w/o the DB layer available... so i want to make sure we can run with a network of brokers, and it has to be easily configurable so that platforms not using the persistence layer can function. Potentially in some cases we launch an embedded broker.
What are the topics/queue names, what are their functions, and how do we use them
CONSIDERATIONS:
- queue - used for app server commands - it gets removed by the first consumer to get it, so if there are multiple subscribers only one will act upon the message.
- topic - used for status - broadcast - pubsub
Example Messages
- OSEE.framework.persistence.<branch>
- OSEE.framework.persistence.global
queue:OSEE.persistence.createBranch
- subscribers: appServers
- publishers: oseeClients
topic:OSEE.persistence.newBranch
- subscribers: oseeClients
- publishers: appServers
topic:OSEE.OTE.station.global.statusRequest
- subscribers: oteTestServers
- publishers: oteTestClients
- purpose: sent by test clients to find out information about available test servers, i.e. who exists, in what configuration, current state (connected clients, etc..)
topic:OSEE.OTE.station.global.statusResponse
- subscribers: oteTestClients
- publishers: oteTestServers
- purpose: the response message to a 'OSEE.OTE.station.global.statusRequest', contains configuration and state information of a test server
topic:OSEE.OTE.station.<station_name>.<station_id>.status
- subscribers: connected-oteTestClients
- publishers: specific-oteTestServers
- purpose: update of current state, errors, test point, current command, etc...
topic:OSEE.OTE.station.<station_name>.<station_id>.command
- subscribers: specific-oteTestServers
- publishers: connected-oteTestClients
- purpose: command the ote environment to do something
topic:OSEE.OTE.station.<station_name>.<station_id>.<model>.command
- subscribers: specific-oteTestServers
- publishers: connected-oteTestClients
- purpose: command a model to do something
topic:OSEE.OTE.station.<station_name>.<station_id>.<model>.status
- subscribers: connected-oteTestClients
- publishers: specific-oteTestServers
- purpose: update of current state, errors, test point, current command, etc...