Я ищу стороннюю службу, чтобы создать/эмулировать что-то похожее на объект базы данных последовательности Postgres.
Мне нужна эта потокобезопасная функциональность, чтобы иметь возможность запрашивать следующее уникальное значение Long
. Я собираюсь использовать это значение в качестве суррогатного ключа для объектов приложения Spring Boot/Neoj4.
Главный критерий - скорость. Он должен быть довольно быстрым и долговечным (не только в памяти, но и сохраняться на жестком диске, чтобы выжить после сбоев и перезапусков)
Кроме того, я не хочу использовать UUID
, потому что мне нужно отображать эти идентификаторы в параметрах URL-адреса моего веб-приложения, а в случае UUID
мои URL-адреса выглядят ужасно. Я хочу использовать простые длинные значения для идентификаторов.
Не могли бы вы предложить какую-нибудь базу данных/сервис/технологию, которую можно установить на моем сервере и получить уникальные идентификаторы?
ОБНОВЛЕНО
Можно ли реализовать отказоустойчивую (сохраняемую) последовательность AtomicLong с помощью Apache ZooKeeper или Hazelcast? Если да, то есть ли реализация этого решения с открытым исходным кодом, которую можно загрузить и использовать?
SnowcastEpoch snowcastEpoch = SnowcastEpoch.byTimestamp(new Date().getTime()); return snowcast.createSequencer("sequence_generator", snowcastEpoch);
21.02.2017