Загрузить изображение для проекта: 'Citeck Community'
  1. Citeck Community
  2. ECOSCOM-4640

Develop types registry based on zookeeper

    XMLWordДля печати

Детали задачи

    • Icon: История История
    • Решение: Готово
    • Icon: High High
    • Community 4.0rc5
    • Не заполнено
    • Не заполнено
    • Не заполнено

    Описание

      Сейчас типы из микросервиса ecos-model синхронизируются с использованием постоянных (раз в 5 секунд) REST запросов, в которых идет поиск всех типов, которые изменились с прошлого запроса + для получения всей информации по типам приходится делать вычисления для учета наследования типов. Этот механизм работает, но имеет ряд недостатков, от которых хотелось бы избавиться:

      1. Если предположить, что у нас в системе будет ~10 микросервисов которые отправляют запросы, то получается микросервису ecos-model нужно обрабатывать 2 запроса в секунду на “холостом ходу”. Сюда же добавлятся синхронизация других конфигов (шаблоны нотификаций, шаблоны нумерации, матрицы прав). Выходит лишняя нагрузка.
      2. На практике микросервис ecos-model периодически падает по нехватке памяти

        Предположительно это связано с необходимостью регулярно в памяти вычислять конфигурацию типов на основе наследования
      3. Постоянные запросы создают трудности для локальной разработки т.к.
        1. Бывает отсутствует связь между некоторым микросервисом и ecos-model, а без этой связи запуститься нельзя.
        2. Если микросервис ecos-model перезапускается или не успел еще запуститься, то мы видим очень много спама о том, что запрос за получением типов провалился.
      4. Задержка между изменением типа и получением этой конфигурации в других микросервисах
      5. Сейчас есть сложности при настройке синхронизации типов в новых микросервисах с учетом использовании реестра типов в тестах. После выполнения задачи нужно будет только подключить библиотеки ecos-zookeeper и ecos-model-lib

      Нужно разработать универсальный реестр конфигураций на базе Zookeeper в либе ecos-zookeeper и мигрировать все конфигурации c RemoteSyncRecordsDao на использование ecos-zookeeper

      Вложенные файлы

        Активность

          Люди

            pavel.simonov@citeck.ru Pavel Simonov
            pavel.simonov@citeck.ru Pavel Simonov
            Голоса:
            0 Голосовать за эту задачу
            Наблюдатели:
            1 Начать наблюдение за этой задачей

            Даты

              Создано:
              Обновленo:
              Дата решения:

              Учет времени

                Оценка:
                Первоначальная оценка - 2 дни Первоначальная оценка - 2 дни
                2d
                Осталось:
                Затраченное время - 2 дни Оставшееся время - 1 день
                1d
                Затрачено:
                Затраченное время - 2 дни Оставшееся время - 1 день
                2d