Мне задали вопрос, чтобы добиться масштабирования системы. Сама система обрабатывает данные клиентов и создает фильтрацию этих данных и производит некоторую аналитическую информацию.
1) Первая итерация:
Мой первоначальный ответ состоял в том, чтобы предоставить кластерное решение Kafka.
Сама Kafka имеет возможности потоковой передачи, балансировки нагрузки и отказоустойчивости. Таким образом, это позволяет мне эффективно обрабатывать производящие данные во многих брокерах и использовать эти данные у любого потребителя так, как я хочу.
Я также могу добавлять потоковую функциональность для фильтрации данных настолько, насколько я хочу.
В этом сценарии нет необходимости думать о балансировщиках нагрузки, потому что Kafka сама выполняет балансировку нагрузки.
2) Вторая итерация: меня спросили, как мне масштабировать систему если есть огромный рост спроса. Каков будет подход к масштабированию системы?
В этом случае при рассмотрении кластера Кафки; подсчет брокеров и разделов должны быть описаны в начале. Это не что-то расширяющееся. Поэтому, несмотря на то, что Kafka обеспечивает большую гибкость при рассмотрении нескольких местоположений и быстро растущих запросов, мое второе мнение заключается в использовании привязки Elasti c Load Balancers & automati c для центров обработки данных.
Когда в подсчете число запросов удваивается на следующий день. Балансировщики нагрузки направляют нагрузку на другие балансировщики нагрузки / другие центры обработки данных, поэтому в случае необходимости новые кластеры Kafka автоматически подключаются к общей системе.
Основная маршрутизация нагрузки может выполняться географически.
Суть этой проблемы в балансировщике нагрузки по-прежнему выглядит необходимой, хотя Kafka является таким сильным кандидатом.
Мой второй подход похож на следующую схему.
https://i.stack.imgur.com/kEx1C.jpg
(Между тем, я встречал некоторых интервьюеров до этого интервью, и они точно назвали балансировщик нагрузки «устаревшей технологией», и я был признан очень жестоким, потому что я предложил балансировщики нагрузки.)
Если вы являетесь экспертом Kafka и занимаетесь масштабированием растущих запросов в нескольких местах, я был бы рад, если вы оставите свои комментарии.
Спасибо.