robinzonejob
@robinzonejob
разработчик .NET

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

Как сгенерировать целочисленный уникальный ID для многопользовательской системы?
  • Вопрос задан
  • 666 просмотров
Пригласить эксперта
Ответы на вопрос 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 ему сохранять карточку
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы