entaxy-public/platform/runtime/modules/uniform-service/support
Сергей Крючков c826adf1db ENTAXY-248 release 1.8.1 2022-02-28 15:22:34 +03:00
..
src/main/resources ENTAXY-248 release 1.8.1 2022-02-28 15:22:34 +03:00
LICENSE.txt initial public commit 2021-09-06 20:08:18 +03:00
README.md initial public commit 2021-09-06 20:08:18 +03:00
pom.xml ENTAXY-248 release 1.8.1 2022-02-28 15:22:34 +03:00

README.md

IGNITE

IgniteAggregationRepository сделано на основе JdbsAggregationRepository документация https://help.talend.com/reader/Uc2IlRuFVfGrjaFPdRI7kA/fBdqK2kf6iIkLHQf9nLh6g

Есть некоторые внутренние баги karaf, которые не позволяют установить некоторые ignite фичи в караф fd921a233d/modules/osgi-karaf/src/main/resources/features.xml (L87)

В карафе поднимается ignite, с рабочей директорией, прописанной в ru.entaxy.esb.ignite.cfg, в параметре ignite.work.directory.path. Это место, где игнайт создает для себя все, что нужно, и будет хранить данные.

Ignite настроен с сохранением персисетнтности данных(сохранением их на диск) и созданием реплицации(бэкапов) на других узлах кластера.(при потере одной ноды, другие восстановят данные, которе хранились на текущем узле)

IGNITE_QUIET=false - параметр необходимый для того, чтобы игнайт не писал информацию о себе в лог, для того что бы параметр применился, необходимо выставить setGridLogger, смогла установить в караф только JclLogger.

AggregationProcessor

AggregationProcessor стандартный, не расчитан на работу в кластере из-за чего пришлось вытаскивать исходники и редактировать сам процессор.(AggregationProcessorWithRestoreTimeout) Т к теперь AggregationProcessor вызывается как bean, а не как стандартный камеловский процессор, то процесс старта и остановки происходит в отличном порядке.

Для работы к кластере:

  • добавлен механизм восстановления работы таймаутов на других нодах,
  • отредактирован механизм удаления сообщения из репозитория(возникало состояние гонки и появлялись дубликаты),
  • исправлен механизм продолжения работы с "застрявшими" сообщениями (recoverTask из таблицы _completed)
  • добавлен безопасный механизм забора сообщений из очереди(восстановление сообщения в очереди, если не пришло подтверждение)