How can I implement a global, centralized stable UUID for error tracking in a microservices architecture?
I want to centralize the generation of a stable UUID for the entire system that can be used as a correlation ID. This UUID would need to be unique and consistent across all services and error reports.
- I need a method to pre-generate a UUID that can be used by all services within a microservices architecture, including database services.
- When an error is fixed, the UUID should be sent back to the originating server for update and regeneration purposes.
- UUIDs should not be generated at the time of error detection to avoid multiple UUIDs for the same error.
- I’m looking to implement a UUID for each transaction across my microservices, which every service need to apply a layer(I guess ?), but I’m unsure how to include managed services like RDS or network services like NGINX in this pattern.
- These services do not allow me to customize error handling to the same extent as my application services, making it difficult to map errors to the pre-generated UUIDs.
- I’m looking for a strategy to ensure these external services can be included in our centralized error tracking system.
I spent for a long time to try to figure it out , I try to use Snowflake, but it looks it is a totally different approaches then what I expect , anyone can give me some suggestions , thanks for every help from you .