What is the EGSSIS EventStore
Whenever there is a change in the egssPort system, the change will be sent to the EventStore where it will be stored and put on the Azure EventHub (read more about Azure EventHub here: https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-about). Our customer will connect with the EventHub and will be notified whenever a new event arrives so that he can process that event in his system. The EventStore system runs in the Azure cloud-hosted on an Azure Kubernetes Service. This infrastructure will allow us to automatically scale the EventStore system based on load. The load comes from either egssPort that is pushing the events and the customer’s system that is reading the events out of the EventStore DB.
Design of the system:
So what happens in detail:
For example, if a TSO sends a NominationResponse to egssPort for customer X (01), egssPort will process the NominationResponse (02) and stores these values in our time-series database for that customers on the specific contract (03). In the same transaction, these changes are sent to the EventStore (04). The EventStore will persist these changes as Events (04), which are JSON payloads which contain the data of these change. When the data is persisted in the EventStore DB, an event is published on the Azure EventHub (one Hub per customer) (06). The customer’s system can then subscribe to the Azure EventHub (07) and process the payload of the event in his system (08).