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