G
enby!

Архитектура микросервиса для экстремальной нагрузки на запись

В этом видео мы продолжим говорить про архитектуру систем. Бывают задачи, в которых вам требуется обрабатывать фантастический по мощности поток данных. Например, вы импортируете информацию из старой системы в новую или обрабатываете результаты работы поисковых роботов. Подобную проблему можно решить с помощью архитектуры системы, которую я для вас нарисовал. Рассмотрим компоненты немного более подробно. Микросервис записывает полученные запросы в очередь. Если нагрузка очень высокая, то применяют брокер сообщений на основе Kafka или Tarantool, а вот RabbitMQ плохо справляется с большой нагрузкой из-за особенностей внутреннего устройства. Применение брокера сообщений не случайно, так как позволяет распределить нагрузку по нескольким серверам. На них будут записываться сообщения. На следующем шаге необходимо прочитать сообщения из очереди и выполнить их обработку. Как вы понимаете, свободному воркеру потребуется делать запросы к СУБД и к внешним API, чтобы получать необходимо информацию и сохранять готовый результат. В итоге у нас получилась архитектура системы, которая умеет справляться с гигантским потоком входящих данных.

Смотрите также