Микросервисная архитектура предполагает разбиение сложного приложения на небольшие автономные приложения, чтобы каждое из них можно было масштабировать и обслуживать независимо . Учитывая множество преимуществ микросервисной архитектуры, неудивительно, что все в ИТ-секторе переходят на эту новую архитектуру!
В основе микросервисной архитектуры лежит концепция обратного проксирования. Обратный прокси-сервер играет ключевую роль в перенаправлении трафика между различными микросервисами, а также в распределении рабочей нагрузки между несколькими экземплярами микросервиса. Без обратного прокси-сервера сложная сеть взаимодействий и распределения нагрузки внутри микросервисной архитектуры, как мы ее понимаем сегодня, была бы просто невозможна!
Давайте углубимся в роль обратного прокси-сервера в настройках микросервисов!
Прокси — это сервер, который находится между компьютером клиента и Интернетом. Любой трафик, исходящий от клиентского компьютера, проходит через прокси-сервер. Для остальной части Интернета создается впечатление, что запросы инициирует прокси-сервер.
Есть несколько причин, по которым можно использовать прокси-сервер. Некоторые из них следующие:
Обратный прокси — это сервер, который находится между Интернетом и внутренними серверами. Любой трафик, предназначенный для серверов, должен проходить через обратный прокси-сервер. Для остальной части Интернета создается впечатление, что запросы обслуживает обратный прокси-сервер.
В целом использование обратных прокси имеет несколько преимуществ. Некоторые из них вы можете найти здесь .
Концепция обратного прокси-сервера вдыхает жизнь в архитектуру микросервисов, позволяя клиенту перемещаться в динамической среде микросервисов, определяя, к каким серверам обращаться. Без этого жизненно важного компонента клиент остался бы без средств для эффективной навигации по сложному ландшафту архитектуры микросервисов.
Службы в микросервисной архитектуре масштабируются вверх и вниз в зависимости от нагрузки. Это означает, что реплики службы могут появляться и исчезать в любое время в течение жизненного цикла приложения. Обратный прокси-сервер обнаруживает серверы службы и эффективно направляет на них клиентский трафик.
Поскольку у службы может быть запущено несколько реплик, становится важным, чтобы запросы клиента правильно распределялись по доступным серверам. Балансировка нагрузки — это еще одна функция revere proxy, которая здесь используется. Обратный прокси-сервер разумно распределяет нагрузку между доступными репликами службы.
Поскольку любой запрос, поступающий в наше приложение, проходит через обратный прокси-сервер, это хорошее место для мониторинга запросов и ведения журналов. Это помогает получить важную информацию о количестве сервисов, присутствующих в системе.
В настройках микросервисов обратный прокси-сервер также используется для маршрутизации внутреннего трафика кластера. Это особенно полезно в случае связи между службами.
Кэширование — это общее преимущество, которое дает использование обратного прокси-сервера. Прокси-сервер может возвращать кэшированные результаты для аналогичных запросов, тем самым сокращая время ответа клиента.
Запрос одного клиента может потребовать агрегирования ответов от более чем одной службы на серверной стороне. Такая агрегация может выполняться обратным прокси-сервером, оставляя клиенту чистую конечную точку для использования!
Обратный прокси-сервер может использоваться в различных конфигурациях. Эти конфигурации обычно определяют уровень OSI, на котором принимается решение о маршрутизации. Обычно существует два известных проксирования — (1) проксирование на уровне 4 и (2) проксирование на уровне 7. По мере продвижения вверх по уровням мы декодируем больше информации из интернет-пакетов, которая может быть использована для принятия решения о маршрутизации.
Уровень 4 в модели OSI — это транспортный уровень. С точки зрения разработчика приложения, на уровне 4 для принятия решения о маршрутизации доступны следующие вещи:
Таким образом, прокси-сервер уровня 4 может принимать решения о маршрутизации только на основе IP-адреса и порта сервера и клиента. Он не может просматривать содержимое запросов и, следовательно, может принимать ограниченные решения о маршрутизации.
Есть несколько причин, по которым можно использовать прокси-сервер уровня 4:
У прокси-сервера уровня 4 также есть несколько недостатков:
Уровень 7 в модели OSI — это прикладной уровень. С точки зрения разработчика приложения, на уровне 7 для принятия решения о маршрутизации доступны следующие вещи:
Поскольку на уровне 7 доступно гораздо больше контента для принятия решений, можно выполнить более разумную маршрутизацию.
Вот несколько причин, по которым можно использовать прокси-сервер уровня 7:
Вот некоторые недостатки использования прокси-сервера уровня 7:
Обратный прокси, несомненно, является одним из важных элементов микросервисной архитектуры. Без этого истинные преимущества микросервисной архитектуры никогда не смогут быть реализованы в полной мере.
На этом мы подошли к концу этого блога! Надеюсь, вы сегодня узнали что-то новое.