-
Notifications
You must be signed in to change notification settings - Fork 122
Description
Welcome
- Yes, I've searched similar issues on GitHub and didn't find any.
Detailed Description
Although fault tolerance requires that each microservice writes to its own database tables, in practice this requirement is often violated.
The implementation of UUIDv7 for PostgreSQL had to switch from Method 1 to Method 3 (Increased Clock Precision with 12 bits sub-millisecond timestamp fraction) to synchronize the UUIDv7s generated by different microservices for the same database table. This turned out to be simpler than the autoincrement-like analogue. See the C implementation v27-0001-Implement-UUID-v7.patch of Method 3 at the page as a reference. The entire timestamp acts as a counter in rare case when more than about 4 identifiers per microsecond are generated.
This implementation also added the ability to offset the timestamp by a specified interval to hide the record creation time for information security.
It would be nice to add such a special UUIDv7 function for microservices.