Data flow observability
Observability
Observability is key in any system. In Hii Retail and many other microservice architecture systems we rely on asynchronous communication and eventual consistency. This means that there are no transactions that will fail an entire batch of data if a single part of the data did not arrive at its destination.
Correlation Ids
A Correlation Id is a unique way to identify every request to Hii Retail. The Correlation Id is not mandatory, but it is highly recommended if you, as a customer of Hii Retail services, require insight in the flow of data.
The Correlation Id is a string, and it can be of any value and structure, but it is important that it is unique. How unique is up to you, but generally a new unique value per request.
The Correlation Id is part of the header in all requests to Hii Retail.
We recommend using UUID or GUID to represent the Correlation Id.
Alternative scenario
There might be a reason for not having the Correlation Id globally unique, and this depends on your ERP system, and how you plan to send your data.
If you batch your data, and want to correlate several entities as part of the same batch, then it is possible to use the same Correlation Id for several entities, even of the same type.
This way we will use the same Correlation Id on several entities of several types.
This again makes it possible to identify all entities sent from ERP to Hii Retail, and verify that they have all been successfully consumed in all downstream services and applications, using a single Id.
This is however not the recommended way, and should only be used if you have this specific requirement.
It is also worth noting that if you do NOT provide a Correlation Id, we will create one, and this one will be used through the entire downstream dataflow in Hii Retail.