2015-08-18 3 views
10

мы планируем использовать Kafka в качестве центрального компонента в нашем хранилище данных, учитывая, что производитель способен обрабатывать транзакции (короче: откаты и коммиты).Может ли Apache Kafka обрабатывать транзакции?

Когда прибегая к помощи Кафка + Сделки Я нахожу много теоретических мыслей о возможности того, как Кафка мог совершает сделки, но в данный момент я не вижу какой-либо функции в Java API, который поддерживает фиксаций и откатов для производитель.

Неужели кто-нибудь сделал некоторые впечатления от транзакций и Кафки и может дать мне подсказку?

+0

Вы можете быть более конкретным на части производителя? что именно вы пытаетесь достичь – user2720864

+0

Проще говоря: я хочу направить сообщение в тему через API-интерфейс Java-разработчика и посмотреть, работает ли оно. Если работал id, я хотел бы передать сообщение этой теме. Подобно JMS или XA в общих реляционных системах баз данных. – padmalcom

+0

«Посмотрите, работает ли это» - API-интерфейс производителя может выполнить обратный вызов с успехом или неудачей. Этого должно быть достаточно для хранилищ данных: если Kafka не является вашей системой записи, вы всегда можете * повторить * отправку в Kafka. Или вы можете уточнить, что вы пытаетесь сделать? –

ответ

1

Я думаю, что то, что вы ищете, в основном называется транзакционным обменом сообщениями в Kafka, где производители могут создавать сеансы (также транзакционные сеансы) и отправлять сообщения в сеансах. Следовательно, он может выбрать либо совершить, либо прервать транзакцию. не

[Источник]: Пожалуйста, прочитайте wiki Подробности

+10

Привет, да, я видела wiki, но это - насколько я могу судить об этом - только предложение о будущей реализации. Мой вопрос в том, можно ли в текущей версии обрабатывать транзакционные сеансы. – padmalcom

3

Нет; Kafka не поддерживает транзакции.

Вы можете убедиться, что сообщение было создано для раздела, но после его создания вы не можете отменить это сообщение.

Начиная с версии 0.11.0 Apache Кафка поддерживает транзакции: https://cwiki.apache.org/confluence/display/KAFKA/Transactional+Messaging+in+Kafka

Смежные вопросы