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

OSCHINA-MIRROR/freshcn-go-id-builder

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Генератор идентификаторов на Go

go-id-builder — это генератор идентификаторов, разработанный на языке Go. Он позволяет эффективно генерировать уникальные последовательные идентификаторы (ID). Это может быть полезно при разделении базы данных на несколько частей.

Зачем нужен генератор идентификаторов?

При разделении базы данных на части часто требуется создать уникальный идентификатор для каждой таблицы. Если таблица одна, то можно просто добавить поле с автоинкрементом. Но при разделении на части у каждой таблицы будет свой собственный автоинкремент. Особенно это становится проблемой, когда нужно реализовать алгоритм разделения по ID (обычно это делается через операцию id % количество таблиц).

Как это работает?

go-id-builder использует MySQL для постоянного хранения максимального значения идентификатора. При каждом запуске программа загружает текущее значение из таблицы и автоматически запрашивает 1000 новых идентификаторов (это число можно изменить в конфигурационном файле). Затем эти идентификаторы помещаются в буферный канал. Когда пользователь делает запрос к API генератора, данные берутся из соответствующего канала и возвращаются клиенту.

Установка

Установить go-id-builder можно с помощью команды:

go get github.com/freshcn/go-id-builder

Затем необходимо импортировать структуру таблицы из файла db.sql в вашу базу данных MySQL и настроить соединение с MySQL в файле app.ini.

Также можно скачать бинарный пакет из раздела releases на GitHub и установить его.

Настройка базы данных

Сначала установите содержимое файла db.sql как структуру таблицы в вашей базе данных MySQL. В файле app.ini настройте информацию о соединении с MySQL. По умолчанию в скрипте используется движок InnoDB, но вы можете выбрать другой движок в соответствии с вашими потребностями.

После запуска программы вы можете получить первый идентификатор с именем test, используя URL:

http://localhost:3002?name=test

Вы также можете добавить новые имена идентификаторов в таблицу для генерации новых значений.

API

После успешного запуска программы она будет использовать порт 3002 по умолчанию. Вы можете изменить номер порта в конфигурационном файле.

Запросы к API можно делать с помощью методов GET или POST. Разрешённые параметры:

  • name — имя идентификатора;
  • num — количество требуемых идентификаторов. По умолчанию максимум 100, можно изменить в конфигурации.

Комментарии ( 0 )

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

Введение

Это генератор ID, который может эффективно создавать последовательные уникальные значения ID. Он может быть очень полезным при разделении базы данных на сегменты. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/freshcn-go-id-builder.git
git@api.gitlife.ru:oschina-mirror/freshcn-go-id-builder.git
oschina-mirror
freshcn-go-id-builder
freshcn-go-id-builder
master