2015-06-30 3 views
0

У меня есть .war, в котором у нас есть приложение Kinesis, которое обрабатывает поток, содержащий один осколок. Мы развертываем два случая войны в производстве. В результате я получаю двух рабочих, работающих на одном потоке с одним осколком. Каков рекомендуемый способ решения этой проблемы? Я попытался развернуть две войны на моей машине dev локально, и кажется, что все в порядке, так как каждая запись обрабатывается только один раз. Я знаю, что AWS рекомендует один экземпляр на каждый осколок. Из их документов:Клиентская библиотека Kinesis: несколько работников для потока

Typically, when you use the KCL, you should ensure that the number of instances does not exceed the number of shards (except for failure standby purposes). Each shard is processed by exactly one KCL worker and has exactly one corresponding record processor, so you never need multiple instances to process one shard. 

ответ

2

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

http://docs.aws.amazon.com/kinesis/latest/dev/kinesis-record-processor-ddb.html

случае, если вы хотите проверить, если работник умирает после обработки некоторых записей, но до контрольной точки. В этом случае рабочий, который возьмет верх, переработает некоторые записи (с последней контрольной точки). Может ли ваше приложение обрабатывать переработку записей?

см: http://docs.aws.amazon.com/kinesis/latest/dev/kinesis-record-processor-duplicates.html

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

  • Нет связанных вопросов^_^