Задать вопрос
robinzonejob
@robinzonejob
разработчик .NET

Как сгенерировать целочисленный уникальный ID для многопользовательской системы?

Как сгенерировать целочисленный уникальный ID для многопользовательской системы?
  • Вопрос задан
  • 701 просмотр
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
А чем вам автоинкремент IDENTITY (1,1) не угодил? Он генерируется средствами самого сервера и не даёт дублей при многопользовательской работе. Значение может не быть последовательным, но уникальным будет точно.
Ответ написан
@rare
Вы можете создать отдельный сервис для генерации id, а ваши приложения будут к нему обращаться. Что-то наподобие twitter-snowflake.
Для .net есть библиотеки для генерации ключей, останется только обернуть их например в rest-service.
https://www.nuget.org/packages/IdGen/2.0.0-rc
https://www.nuget.org/packages/RustFlakes/
Ответ написан
Комментировать
tsklab
@tsklab
Здесь отвечаю на вопросы.
Используйте диапазоны для пользователей (как это делается при репликации для каждой реплики) или префикс.
Ответ написан
Комментировать
@guras256
не очень понимаю акцент на ОДНОВРЕМЕННОСТИ, зачем вам об этом думать, за вас бд сама подумает, затем она и нужна..
в крайнем случае можно сделать api метод который будет дергать sequence в бд и возвращать уникальный идентификатор, таким образом клиент будет знать, под каким id ему сохранять карточку
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы