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

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

Как KCL обеспечивает балансировку нагрузки и масштабирование. например, у меня есть поток с одним осколком, и много записей / событий помещаются за 15 минут в течение целого дня или на определенное время. Так как он позаботится о таком внезапном движении и нагрузке.

1 ответ

Решение

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

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

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

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

Другие вопросы по тегам