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

OSCHINA-MIRROR/cnperl-dinp-server

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

Сервер

Это самый важный модуль всей системы, который выполняет следующие функции:

  1. Открывает порт RPC для получения информации о сердцебиении от агента, собирает информацию о нагрузке всех вычислительных узлов и список контейнеров и сохраняет её в памяти под названием «реальное состояние» (real state).

  2. Открывает HTTP-порт для отладки и предоставляет доступ к информации из памяти.

  3. Соединяется с базой данных Dashboard и регулярно получает целевое состояние текущего приложения, которое называется «желаемое состояние» (desired state).

  4. Сравнивает реальное и желаемое состояния. Если контейнер не отвечает или требуется расширение, можно определить различия и создать новый контейнер или удалить лишние контейнеры.

  5. Анализирует список контейнеров, отправленный агентом, и организует информацию о маршрутизации, которая записывается в Redis.

  6. Через переменные среды записывает в контейнер адрес соединения настроенного сервера Scribe, чтобы приложение в контейнере могло отправлять логи на этот сервер Scribe.

Проблемы

Если сервер выходит из строя, что делать?

Агент настраивает два адреса сервера, обычно запуская только один сервер. Если сервер на машине выходит из строя, можно запустить другой сервер, и агент автоматически переподключится. Здесь можно реализовать логику автоматического выбора главного сервера, но это слишком сложно, поэтому она не реализована.

Что делать, если Redis, где хранится информация о маршрутах, выходит из строя?

После каждого получения маршрута из Redis маршрутизатор кэширует его в локальной памяти. Если Redis выйдет из строя, это не вызовет серьёзных проблем, просто маршрутизатор не сможет отслеживать изменения в контейнерах на стороне сервера.

Фактически, даже если большинство компонентов dinp выйдут из строя, пока маршрутизатор и контейнеры работают, существующие сервисы не будут затронуты, просто их нельзя будет масштабировать или развернуть новые версии.

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

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

Введение

В компоненте master в DINP осуществляется управление всеми вычислительными узлами в кластере. Развернуть Свернуть
Отмена

Обновления

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

Участники

все

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

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