XXL-CONF
XXL-CONF — это лёгкая распределённая платформа для управления конфигурацией, которая обладает следующими функциями: лёгкость, динамическая отправка данных в реальном времени, поддержка нескольких сред, межъязыковая и межофисная совместимость, прослушивание конфигурации, контроль разрешений, откат версий. В настоящее время проект открыт с исходным кодом, готовым к использованию.
Документация
Коммуникация
Функции
- Простота использования: легко подключаться и удобно использовать, можно начать работу за одну минуту.
- Лёгкость: простая установка без зависимости от сторонних сервисов, можно начать работу за одну минуту.
- Централизованное управление высокой доступностью (HA) конфигурацией: конфигурация центра поддерживает кластерную установку, что повышает отказоустойчивость и доступность системы управления конфигурациями.
- Онлайн-управление: предоставляет конфигурацию центра, через веб-интерфейс можно управлять данными конфигурации в режиме реального времени, обеспечивая наглядность и эффективность.
- Поддержка нескольких сред: один кластерный центр конфигурации может поддерживать несколько наборов сред, управляя конфигурационными данными различных сред; среды изолированы друг от друга.
- Много типов данных конфигурации: поддерживает различные типы данных конфигурации, такие как String, Boolean, Short, Integer, Long, Float, Double и т. д.
- Межъязыковая поддержка: базовый уровень использует HTTP-сервисы (long-polling) для извлечения данных конфигурации и мгновенного обнаружения изменений конфигурации, обеспечивая поддержку нескольких языков.
- Межофисная поддержка: благодаря равноправному характеру отношений между узлами кластера, каждый узел предоставляет идентичные услуги конфигурации; поэтому при развёртывании в разных местах требуется только запросить локальный центр конфигурации, реализуя географически распределённое активное-активное развёртывание.
- Высокая производительность: благодаря «дисковой конфигурации» центра конфигурации и «LocalCache» клиента, производительность службы конфигурации очень высока; одна машина может обрабатывать большое количество запросов конфигурации.
- Мгновенная реакция: динамическая передача данных в реальном времени; после обновления конфигурации данные мгновенно передаются, и данные конфигурации проекта обновляются и вступают в силу автоматически, без необходимости перезапуска онлайн-машин.
- Функция прослушивания изменений конфигурации: можно разработать логику Listener для отслеживания событий изменения конфигурации, которые могут использоваться для динамического обновления пула соединений JDBC и других продвинутых функций.
- Конечная согласованность: на базовом уровне используется встроенный механизм широковещания для обеспечения конечной согласованности данных конфигурации, гарантируя синхронизацию данных конфигурации.
- Резервное копирование конфигурации: данные конфигурации одновременно сохраняются и резервируются на диске и в MySQL, а также регулярно синхронизируются, повышая безопасность данных конфигурации.
- Различные способы получения конфигурации: поддерживаются API, аннотации, XML-заполнители и другие методы получения конфигурации, предоставляя гибкие возможности выбора.
- Совместимость со Spring native configuration: совместимость с методами загрузки конфигурации Spring native, такими как @Value и ${}, изолированными от распределённых методов получения конфигурации, не влияя друг на друга.
- Распределённость: поддерживает подключение нескольких бизнес-линий и централизованное управление данными конфигурации, поддерживая распределённые бизнес-сценарии.
- Изоляция проектов: управление конфигурацией на основе проектов, облегчая изоляцию конфигураций различных бизнес-линий.
- Высокая производительность: использование LocalCache для кэширования данных конфигурации повышает производительность.
- Укрепление повторного подключения после обрыва соединения клиентом: настройка сторожевого потока, периодическая проверка соединения клиента и синхронизации конфигурации, повышение стабильности и эффективности конфигурации в случае аномальных ситуаций.
- Обработка пустых конфигураций: активное кэширование нулевых или несуществующих конфигурационных данных, предотвращение проникновения запросов конфигурации на удалённый сервер конфигурации, вызывающего проблемы с лавинной рассылкой.
- Управление пользователями: поддержка онлайн-добавления и обслуживания пользователей, включая обычных пользователей и администраторов двух типов пользователей.
- Контроль разрешений конфигурации: управление разрешениями конфигурации на основе проектов, администраторы имеют полные права доступа ко всем проектам, обычные пользователи имеют только просмотр и управление правами доступа к конфигурации в назначенных проектах.
- Откат исторических версий: запись истории изменений конфигурации для облегчения отката к историческим версиям, по умолчанию записывается 10 исторических версий.
- Конфигурационный снимок: после получения данных конфигурации от центра конфигурации клиент периодически сохраняет их в локальном файле снимка, который будет использоваться в случае сбоя при получении данных конфигурации из центра конфигурации. Это повышает доступность системы.
- Токен доступа (accessToken): для повышения безопасности системы центр конфигурации и клиент проходят проверку подлинности, и связь разрешается только после совпадения токенов доступа.
Разработка
В 2015 году я создал репозиторий проекта XXL-CONF на GitHub и отправил первый коммит, после чего приступил к проектированию структуры системы, выбору пользовательского интерфейса, проектированию взаимодействия и так далее.
На сегодняшний день XXL-CONF уже внедрён в производственные линии многих компаний, таких как электронная коммерция, O2O-бизнес и основные промежуточные звенья, и динамизация конфигурации. По состоянию на 15 марта 2018 года компании, использующие XXL-CONF, включают, но не ограничиваются:
- 1. Шэньчжэньский парк инноваций Цзяньфэн, технологический парк.
- 2. Shenzhen Double Monkey Technology Co., Ltd.
- 3. Торговая мудрость Shenzhou Software Co., Ltd.
- 4. Zhejiang Litao Technology.
- …
Для регистрации других компаний, пожалуйста, зарегистрируйтесь по адресу регистрации, регистрация предназначена только для продвижения продукта.
Приглашаем всех следить за проектом и использовать его. XXL-CONF будет продолжать развиваться и меняться.
Участие
Мы приветствуем участие! Откройте запрос на вытягивание, чтобы исправить ошибку, или откройте проблему, чтобы обсудить новую функцию или изменение. Пользователи предприятия могут свободно получать доступ и использовать продукт.
- Лицензия: GNU General Public License (GPL) v3.
- Авторские права (c) 2015-настоящее время, xuxueli.
Продукт является открытым исходным кодом, бесплатным, и мы продолжим предоставлять бесплатную техническую поддержку сообщества. Сотрудники компаний или индивидуальные пользователи могут свободно подключаться и использовать его.
Пожертвовать
Независимо от суммы пожертвования, мы очень благодарны за вашу поддержку:) Пожертвовать
Комментарии ( 0 )