Apache Семантика доставки сообщений Pulsar - PullRequest
1 голос
/ 30 апреля 2020

Я прошел Apache Документация Pulsar для семантики доставки сообщений. Семантика доставки, упомянутая для Apache функций (по крайней мере, один раз, максимум один раз и эффективная один раз). Если мы не используем функции Apache, тогда какие существуют все доступные семантики доставки?

Ответы [ 2 ]

0 голосов
/ 07 мая 2020

Вы можете реализовать все перечисленные вами семантики доставки сообщений, включая, по крайней мере, один раз, самое большее один раз и эффективно один раз.

По крайней мере, один раз вы должны использовать эксклюзивный тип подписки, чтобы гарантировать, что только потребитель получает сообщение, и чтобы ваш потребитель подтверждал все полученные сообщения независимо от того, происходит исключение или нет.

Для эффективного однократного использования вы должны использовать эксклюзивный тип подписки, чтобы гарантировать, что сообщение получит только потребитель, и отправлять подтверждение только в том случае, если вы можете успешно обработать сообщение (т. Е. Без исключений и т. Д. c). В противном случае вы отрицательно подтвердит сообщение, чтобы оно было доставлено.

Все другие сочетания поведения подпадают под гарантию доставки минимум один раз.

https://pulsar.apache.org/docs/en/2.5.1/concepts-messaging/#consumers

0 голосов
/ 01 мая 2020

Pulsar обеспечивает семантику как минимум один раз. Он также может дедуплицировать записи в свой журнал (так называемое идемпотентное производство), и эффективно может быть синтезировано одноразовое потребление с использованием внешнего хранилища данных (как и в других системах обмена сообщениями). Для самостоятельной эффективной / точно однократной обработки, например, для потоковой обработки, вам нужно использовать Kafka или Flink.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...