Не требует ли потоковая трансляция с помощью Hazelcast струйного десериализатора, такого как Kafka Streaming - PullRequest
0 голосов
/ 04 февраля 2019

Мы делаем poc для потоковой передачи kafka vs jet, я заметил, что kafka нужен сериализатор и десриализатор, но не видел его в потоковой передаче jet, поэтому просто удивлялся, как jet передает данные между кластерами и клиенту.

Кроме того, каковы плюсы и минусы использования одного над другим.

Обратите внимание, что мы сравниваем только потоковую часть, а не ту часть, в которой kafka полностью отказоустойчива, но струя не так хороша.память в струе.

Нам нужно найти плюсы и минусы больше в потоковой части.

1 Ответ

0 голосов
/ 04 февраля 2019

Jet изначально поддерживает сериализацию Java по умолчанию, поэтому, если вы ничего не настроите, а ваши элементы данных будут Serializable, он будет работать.Однако Java-сериализация имеет большие накладные расходы, и если в вашем конвейере много трафика, это может стать узким местом.В этом случае вы можете реализовать сериализацию Hazelcast для своих объектов, как описано в справочном руководстве Jet , например:

SerializerConfig serializerConfig = new SerializerConfig()
        .setImplementation(new MyItemSerializer())
        .setTypeClass(MyItem.class);
JetConfig config = new JetConfig();
    config.getHazelcastConfig().getSerializationConfig()
          .addSerializerConfig(serializerConfig);
JetInstance jet = Jet.newJetInstance(config);

Основным преимуществом Jet над потоками Kafka является производительность, посколькупамять.

Как и Hazelcast IMDG, Hazelcast Jet терпимо относится к сбоям настроенного числа членов кластера.Он поддерживает ровно один раз и как минимум один раз гарантии обработки.Jet Enterprise Edition поддерживает сохранение состояния обработки в долговременном хранилище.

...