#hazelcast #hazelcast-jet
#hazelcast #hazelcast-jet
Вопрос:
Я пытаюсь быстрее освоиться с Hazelcast Jet в качестве конвейера обработки и начал немного углубляться в документацию по исходным кодам
https://jet-start.sh/docs/api/sources-sinks#sources
Я был очень удивлен, увидев, что темы Hazelcast и ReliableTopics не являются изначально поддерживаемыми источниками, однако Kafka и JmsQueue поддерживаются из коробки. Я вижу, что надежная тема hazelcast является поддерживаемым приемником… что заставляет меня задаться вопросом, правильно ли я понимаю тему как действительный источник для конвейера.
Я что-то недопонимаю?
Ответ №1:
Hazelcast ITopic
является нераспределенным средством в памяти и не поддерживает однократную обработку. Вероятно, это некоторые из причин, по которым Hazelcast пока не предлагает первоклассную поддержку. Kafka является примером постоянного, распределенного и отказоустойчивого средства, что делает его подходящим для архитектуры, где требуется уровень согласованности ровно один раз.
С другой стороны, вы можете использовать SourceBuilder
и SinkBuilder
для реализации собственных соединителей для него. Вот пример из нашего репозитория примеров кода.
Комментарии:
1. ах, я пропустил, что ITopic «не поддерживает однократную обработку» из документов hazelcast… Я думаю, что я слишком много думал о флаге «globalOrderEnabled» и приписал ему обработку «ровно один раз». Имеет смысл. Спасибо!