Почему бы не использовать (потокобезопасный) генератор UUID?
Вероятно, мне следует остановиться на этом.
UUID гарантированно будут глобально уникальными (если вы избегаете тех, которые основаны на случайных числах, где уникальность просто высока).
Ваше «распределенное» требование удовлетворяется, независимо от того, сколько генераторов UUID вы используете, глобальной уникальностью каждого UUID.
Ваше «потокобезопасное» требование можно удовлетворить, выбрав «потокобезопасный» UUID-генератор.
Предполагается, что ваше требование "порядкового номера" удовлетворяется гарантированной глобальной уникальностью каждого UUID.
Обратите внимание, что многие реализации порядковых номеров базы данных (например, Oracle) не гарантируют ни монотонно увеличивающиеся, ни (даже) увеличивающиеся порядковые номера (на основе каждого соединения). Это связано с тем, что последовательный пакет порядковых номеров распределяется в «кэшированных» блоках для каждого соединения. Это гарантирует глобальную уникальность , а поддерживает адекватную скорость. Но порядковые номера, фактически выделенные (с течением времени), могут быть перепутаны, когда они выделяются несколькими соединениями!