тема hazelcast как источник hazelcast-jet

#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» и приписал ему обработку «ровно один раз». Имеет смысл. Спасибо!