Skip to main contentIBM Garage Event-Driven Reference Architecture - Reefer Container Shipment reference implementation

Topic Details

This section details all of the topics being used in the Reefer Container Shipment reference implementation and the events that flow through them.

Order Commands Topic

Topic name: order-commands

Description: The purpose for this topic is not other than to store the commands requested from users for creating, updating and cancelling orders for the Order Command component to process these later by implementing the Consume-transform-produce Loop pattern.

Components that produce events to this topic:

Components that consume events from this topic:

Messages that flow through:

Orders Topic

Topic name: orders

Description: This is probably the busiest topic in the overall Reefer Container Shipment reference application. This topic would be the place for any event that has to do with shipping orders. From having events from the Order Command to notify other components of the solution that orders have been created, updated, cancelled and rejected to having events from other components to notify that an order has got a container allocated, a voyage assigned or event that a container has spoilt the fresh goods it is carrying due to an anomaly in the container.

Components that produce events to this topic:

Components that consume events from this topic:

Messages that flow through:

Errors Topic

Topic name: errors

Description: Messages in this topic will denote errors while processing user commands by the Order Command component.

Components that produce events to this topic:

Components that consume events from this topic: None

Messages that flow through:

Containers Topic

Topic name: containers

Description: This is the second busiest topic of the overall Reefer Container Shipment reference application since it will be used for creating containers, receiving container anomalies, setting containers to maintenance, etc.

Components that produce events to this topic:

Components that consume events from this topic:

Messages that flow through:

Container Anomaly Retry Topic

Topic name: container-anomaly-retry

Description: This topic will only contain Container Anomaly Retry Events as part of the [Dead Letter Queue (DLQ)](#dead-letter-queue-(dlq) pattern implementation.

Components that produce events to this topic:

Components that consume events from this topic:

Messages that flow through:

Container Anomaly Dead Topic

Topic name: container-anomaly-dead

Description: This topic will only contain Container Anomaly Dead Events as part of the [Dead Letter Queue (DLQ)](#dead-letter-queue-(dlq) pattern implementation.

Components that produce events to this topic:

Components that consume events from this topic:

Messages that flow through:

Reefer Telemetry Topic

Topic name: reefer-telemetry

Description: This topic will only hold Container Telemetry Events as part of the Anomalous Container Tracking and Reactive Messaging patterns. These events are simply the sensor telemetries reported back from the containers.

Components that produce events to this topic:

Components that consume events from this topic:

Messages that flow through:

Bluewater Containers Topic

Topic name: bluewater-container

Description: This topic will only hold Container Metric Events, with coordination between the Fleet Management and User Interface microservices during simulations.

Components that produce events to this topic:

Components that consume events from this topic:

Messages that flow through:

Bluewater Ships Topic

Topic name: bluewater-ship

Description: This topic will only hold Ship Position Events, with coordination between the Fleet Management and User Interface microservices during simulations.

Components that produce events to this topic:

Components that consume events from this topic:

Messages that flow through:

Bluewater Problems Topic

Topic name: bluewater-problem

Description: This topic will only hold Bluewater Problem Events while processing simulations on the “bluewater ship” entities, with coordination between the Fleet Management and User Interface microservices during simulations.

Components that produce events to this topic:

Components that consume events from this topic:

Messages that flow through: