Балансировка нагрузки и масштабирование в приложении на основе клиентской библиотеки Kinesis (KCL)

Я использую amazon-kinesis-connectors для создания клиентского приложения Kinesis. Я выясняю несколько вещей об этом.

Как KCL обеспечивает балансировку нагрузки и масштабирование. например у меня стрим с одним шардом и много записей/событий ставится на 15 минут в течение всего дня или на определенное время. Итак, как он позаботится о таком внезапном трафике и нагрузке.


person Awadesh    schedule 05.02.2018    source источник


Ответы (1)


Для балансировки нагрузки вам потребуется несколько сегментов. Kinesis пытается сбалансировать количество осколков, которые берет на себя каждый рабочий — если у вас есть только один осколок, вы не получите никакой выгоды от более чем одного рабочего. См. мой соответствующий ответ здесь, чтобы получить дополнительную информацию о том, как работает балансировка нагрузки Kinesis.

Что касается масштабирования - у каждого сегмента есть ограничение на максимальный объем трафика, который он может принять - из документация по ограничениям kinesis:

Каждый сегмент может поддерживать до 1000 записей в секунду для записи, до максимальной общей скорости записи данных 1 МБ в секунду.

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

person Krease    schedule 16.02.2018