entaxy-public/platform/runtime/modules/uniform-service/support/README.md

32 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

**IGNITE**
IgniteAggregationRepository сделано на основе JdbsAggregationRepository
документация https://help.talend.com/reader/Uc2IlRuFVfGrjaFPdRI7kA/fBdqK2kf6iIkLHQf9nLh6g
Есть некоторые внутренние баги karaf, которые не позволяют установить некоторые ignite фичи в караф
https://github.com/apache/ignite/blob/fd921a233d35408883695419b6f9979ac674d1b9/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)
- добавлен безопасный механизм забора сообщений из очереди(восстановление сообщения в очереди, если не пришло подтверждение)