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

OSCHINA-MIRROR/didiopensource-FeatureProbe

Клонировать/Скачать
README_CN.md 13 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 08:20 735383a

FeatureProbe

FeatureProbe — это открытый исходный код для управления функциональностью. Он включает в себя управление версиями, A/B-тестирование, динамическое изменение конфигурации и другие операции, связанные с управлением функциональными возможностями. Под «функционалом» здесь понимается бизнес-функция, техническая модернизация, операционная деятельность и любые функции, связанные с разработкой кода. Это позволяет разработчикам, операторам и администраторам безопасно и эффективно вносить изменения в онлайн-среду, при этом точно контролируя риски, связанные с изменениями. Управление версиями на уровне функций является одним из основных инструментов реализации DevOps. Используя переключатели функций, можно уменьшить сложность слияния ветвей, легко реализовать разработку основной линии и непрерывную доставку.

Управление переключателями функций на уровне уже стало стандартным компонентом платформ крупных интернет-компаний. Мы объединяем передовой опыт и знания внутренних платформ управления переключателями функций крупных интернет-компаний в этот проект с открытым исходным кодом. Надеемся распространить концепцию и практику управления функциями в сообществе разработчиков программного обеспечения и вместе с сообществом открытого исходного кода повысить эффективность разработки программного обеспечения.

Сценарии применения FeatureProbe Согласно нашему опыту, FeatureProbe может повысить эффективность разработки программного обеспечения в следующих сценариях:

  1. Серая публикация на уровне функций: каждая функция публикуется независимо для пользователей. Можно быстро отключить функцию, на которую влияет ошибка, не влияя на использование других обычных функций.
  2. Снижение затрат на создание тестовой среды: экономия затрат времени и ресурсов на создание и тестирование тестовых сред в автономном режиме. Использование небольшой пропускной способности онлайн-среды для тестирования, среда реальна и одновременно контролируема.
  3. Сокращение времени восстановления после сбоя: при возникновении сбоя стратегия понижения уровня используется для настройки поведения службы, чтобы гарантировать, что основной путь пользователя не будет затронут.
  4. Упрощение процесса совместной работы разработчиков: вместо традиционных методов совместной работы в ветках используется переключатель функций. Действительно реализовать основную линию разработки и непрерывное развёртывание. Уменьшить конфликты слияния веток и значительно ускорить итерацию.
  5. Единый центр управления конфигурацией: через дружественный к пользователю интерфейс операции можно централизованно управлять онлайн-конфигурацией, динамически изменять параметры функций и упрощать активацию операций эксплуатации.
  6. Больше сценариев использования! Ждём, когда вы присоединитесь к нам, чтобы исследовать и попробовать.

Скриншот FeatureProbe

Начало работы

FeatureProbe состоит из следующих подмодулей:

  1. Сервер API: предоставляет основные данные и внешние API.
  2. Сервер оценки: обеспечивает высокопроизводительный механизм определения правил серого цвета.
  3. UI/Портал: предоставляет пользовательский интерфейс.
  4. База данных.
  5. Различные языковые SDK.

Архитектура FeatureProbe

Для новых пользователей, которые хотят попробовать FeatureProbe, мы предоставляем Docker Compose для запуска всех основных служб (включая сервер API, сервер оценки, UI и базу данных) одним щелчком мыши. В настоящее время это самый удобный способ (мы также усердно работаем над предоставлением пробной SaaS-среды, пожалуйста, обратите внимание). Загрузка образа может занять некоторое время, и мы также предоставляем план ускорения для загрузки зеркала из внутреннего источника (DOCKER_HUB.md). Все четыре службы также имеют отдельные образы Docker для отдельного развёртывания или могут быть скомпилированы и запущены непосредственно из исходного кода для опытных пользователей.

1. Запустите FeatureProbe с помощью Docker Compose

Сначала вам необходимо установить Git и Docker.

Затем клонируйте текущий каталог кода с GitHub и запустите службу с помощью следующей команды:

git clone https://github.com/FeatureProbe/FeatureProbe.git
cd FeatureProbe
docker compose up

Если есть конфликт портов, вы можете сначала изменить порт по умолчанию в файле docker-composer.yml.

После успешного запуска Docker откройте браузер и посетите: localhost:4009 (используйте изменённый порт, если вы изменили порт по умолчанию), а затем войдите в систему с учётными данными по умолчанию:

  • имя пользователя: admin
  • пароль: Pass1234

2. Вызов FeatureProbe SDK в вашем собственном коде службы и доступ к переключателям функций, настроенным на платформе FeatureProbe

FeatureProbe предоставляет два типа SDK:

Первый тип — это серверный SDK (например, Java SDK, Rust SDK), который обычно подходит для серверных служб. SDK получает информацию о конфигурации переключателя функций с платформы FeatureProbe и управляет поведением хост-программы в соответствии с правилами в памяти, которые можно использовать для контроля серого цвета. Пользовательские атрибуты можно добавлять по мере необходимости.

Другой тип — клиентский SDK (например, Javascript SDK или мобильные SDK для iOS и Android), который подключается к серверу оценки для получения конфигурации переключателя функций текущего пользователя.

Ниже приведены поддерживаемые языки SDK:

Серверные SDK

  • Java SDK
  • Rust SDK
  • Golang SDK
  • Python SDK (скоро появится...)

Клиентские SDK

  • Javascript SDK
  • Android SDK
  • iOS SDK

Все языковые SDK предоставляют примеры каталогов и кодов, которые можно напрямую запустить для ознакомления с взаимодействием между платформой FeatureProbe и SDK.

3. Документация по API

Все функции, управляемые через пользовательский интерфейс FeatureProbe, доступны через OpenAPI для прямого программирования. После запуска службы API посетите http://localhost:4009/api-docs, чтобы просмотреть все интерфейсы и методы использования API. Мы продолжаем итерации и добавляем новые функции в FeatureProbe, чтобы он соответствовал большему количеству сценариев использования и отвечал потребностям пользователей. Разработки будут непрерывно публиковаться на основе кодовой базы GitHub. Приглашаем друзей из сообщества открытого исходного кода присоединиться к нам. Вы можете выдвигать требования, сообщать об ошибках, участвовать в обсуждениях сообщества и отправлять PR.

Пожалуйста, ознакомьтесь с CONTRIBUTING для получения подробной информации о нашем кодексе поведения и процессе участия в улучшении FeatureProbe.

Лицензия

Этот проект лицензирован по лицензии Apache 2.0. Подробнее см. в файле LICENSE.

Сообщество и обмен информацией

Мы создали сообщество в WeChat, которое помогает новым друзьям быстро понять FeatureProbe, а старые друзья могут обсуждать любые темы, связанные с управлением функциями, в сообществе. Присоединяйтесь к нам, отсканировав следующий QR-код. Если вы хотите сообщить об ошибке или внести свой вклад в код, используйте функции Issue и PR на GitHub: GitHub issue.

История звёзд

Star History Chart

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

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

1
https://api.gitlife.ru/oschina-mirror/didiopensource-FeatureProbe.git
git@api.gitlife.ru:oschina-mirror/didiopensource-FeatureProbe.git
oschina-mirror
didiopensource-FeatureProbe
didiopensource-FeatureProbe
main