1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Aping-Fo-snowflake

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 2.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 06.03.2025 01:04 937e5c0

SNOWFLAKE

Статус сборки

Концепция дизайна

  1. Распределенный генератор UUID, версия на языке Go для Twitter Snowflake
  2. Генератор последовательностей

Формат UUID:

+-------------------------------------------------------------------------------------------------+
| НЕИСПОЛЬЗУЕМАЯ (1 БИТ)               | ВРЕМЕННАЯ МАРКА (41 БИТ)             | ID УСТАНОВКИ (10 БИТ)      | НОМЕР ПОСЛЕДОВАТЕЛЬНОСТИ (12 БИТ) |
+-------------------------------------------------------------------------------------------------+

Установка

По умолчанию генератор UUID зависит от пар ключ-значение snowflake-uuid, которые должны быть созданы заранее в etcd; при запуске snowflake они будут считываться, например:

   curl http://172.17.42.1:2379/v2/keys/seqs/snowflake-uuid -XPUT -d value="0"

Этот snowflake-uuid будет использоваться для автоматического генерирования ID установки. Если пользователь сам определяет machine_id, это можно сделать через переменные окружения, например:

   export MACHINE_ID=123

Чтобы использовать метод Next() генератора последовательностей, необходимо создать ключ заранее, например:

   curl http://172.17.42.1:2379/v2/keys/seqs/userid -XPUT -d value="0"

Другие части см. в Dockerfile

Использование

snowflake См. тестовые примеры и snowflake.proto

Переменные окружения

ETCD_HOST: Например: http://172.17.42.1:2379
MACHINE_ID: Например: 123

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/Aping-Fo-snowflake.git
git@api.gitlife.ru:oschina-mirror/Aping-Fo-snowflake.git
oschina-mirror
Aping-Fo-snowflake
Aping-Fo-snowflake
master