Что такое API-шлюз и как он работает? [+ Лучшие поставщики услуг].
Что такое API-шлюз и как он работает? [+ Лучшие поставщики услуг].
Однако процесс создания или размещения
В этом посте мы
Что такое шлюз ?
Шлюз принимает все вызовы , а затем действует как обратный прокси, извлекая ресурсы из внутренних приложений от имени клиентского приложения. Шлюз не только принимает вызовы – он также выполняет задачи, связанные с службами , такими как аутентификация пользователей, ограничение скорости, мониторинг и многое другое.
Чтобы помочь вам понять, что такое шлюз , давайте воспользуемся аналогией. Думайте о шлюзе как о входной двери. За дверью находятся серверные службы, к которым клиентские приложения хотят получить доступ. Клиент, также известный как потребитель , делает свой запрос у двери, возможно, проверяет свою личность, а затем ожидает доставки запрошенных данных. За дверью, где клиент не может видеть, его запрос направляется в соответствующую часть системы , а ответ пересылается обратно клиенту.
Давайте подробнее рассмотрим, как работает шлюз , ниже.
Как работает -шлюз?
Шлюз отделяет клиентский интерфейс от внутренней реализации среды системных приложений и продуктов (SAP) или архитектуры микросервисов. Этот интерфейс , с которым легче работать, чем с базовой реализацией серверной части, находится между потребителем и поставщиком .
Поэтому, когда потребитель отправляет запрос на шлюз , он проходит три фазы. Для начала запрос будет авторизован, проверен и преобразован для конечной точки в бэкэнде. Этот шаг известен как «поток запросов». На этом этапе поставщику может потребоваться конкретный заголовок HTTP, строка запроса или ключ для идентификации вызывающего и отклонения любых неавторизованных запросов или принудительного ограничения или ограничения квоты.
Затем запрос будет перенаправлен на соответствующую службу (или службы). Например, в Amazon Gateway запрос может быть перенаправлен на функцию в AWS Lambda или другом ресурсе AWS. Вот где происходит действие: возможно, запись сохраняется в базе данных или какие-то твиты передаются в потоковом режиме, в зависимости от того, какой был запрос.
Наконец, запрос снова будет преобразован для отправки обратно клиенту. Хотя шлюз часто направляет запрос к нескольким службам, он объединяет результаты в один ответ. Этот ответ может включать код состояния HTTP, подтверждающий, что запрос был успешным. Этот шаг известен как «поток ответа».
Теперь, когда мы лучше понимаем, как работает шлюз , давайте подробнее рассмотрим преимущества, которые он предлагает.
Зачем использовать -шлюз
Использование шлюза дает несколько преимуществ. Хотя каждый шлюз может отличаться в зависимости от его реализации, они обычно имеют следующие общие функции.
Большинство шлюзов обрабатывают аутентификацию пользователей и ограничение скорости, что может помочь предотвратить случайное или преднамеренное злоупотребление вашим . Они также обычно предлагают аналитику и мониторинг, чтобы вы могли отслеживать, как люди используют ваши и сервисы.
С -шлюзом вам не нужно беспокоиться о том, как добавление или прекращение использования -сервисов повлияет на то, как клиентские приложения могут запрашивать доступ к ним. Клиентские приложения по-прежнему смогут запрашивать доступ к любой из ваших служб в той же точке входа, без необходимости отслеживать несколько конечных точек .
Шлюз также идеально подходит, если у вас есть приложение на основе микросервисов. Ниже мы объясним почему.
Микросервисы шлюза
В прошлом у предприятий было одно монолитное приложение, которое все делало. Если клиентские приложения захотят получить некоторые данные или сервис из этого приложения, они сделают один вызов . Затем балансировщик нагрузки направит запрос на одну из реплицированных и идентичных конечных точек приложения. Приложение будет запрашивать различные таблицы базы данных, чтобы завершить запрос и вернуть ответ клиенту.
Сегодня многие компании приняли архитектуру микросервисов, в которой несколько сервисов отвечают за разные задачи. С этим типом архитектуры клиентские приложения могут обращаться к этим службам двумя способами.
Первый способ – прямое общение между клиентом и микросервисом. При таком подходе клиентские приложения могут делать запросы напрямую к отдельным микросервисам, отправляя несколько вызовов на правильные конечные точки микросервисов.
Однако у этого подхода есть несколько проблем. Во-первых, чем больше запросов клиент должен отправить в серверную часть, тем больше циклов обмена между клиентом и сервером должно выполнить приложение. Это может привести к увеличению задержки и увеличению времени ожидания для клиента. Во-вторых, поскольку каждая микрослужба должна быть доступна через общедоступные конечные точки, существует повышенный риск безопасности. Поэтому реализация таких мер безопасности, как авторизация для каждой отдельной микросервиса, имеет решающее значение, но потребует значительного количества времени и усилий.
Наконец, обновление приложения создает серьезные проблемы с этим типом модели связи. Это связано с тем, что добавление или прекращение использования микросервисов не только потребует серьезных усилий по разработке – они также повлияют на клиентские приложения, которые связаны с существующими внутренними конечными точками.
В то время как прямая связь между клиентом и микросервисом может работать для небольших приложений на основе микросервисов, косвенный подход идеально подходит для более крупных и сложных приложений. Вот тут-то и пригодится шлюз .
Шлюз обеспечивает единую точку входа для клиентских приложений. Клиент отправляет свой запрос, и шлюз может разбить его на несколько запросов, направить их в разные серверные службы и вернуть ответ клиенту за один цикл приема-передачи. Таким образом, шлюз сокращает количество запросов между клиентом и сервером, улучшая задержку и улучшая взаимодействие с пользователем.
Шлюз с открытым исходным кодом
Как и программное обеспечение для создания веб-сайтов, шлюзы могут быть проприетарными или открытыми.
Проприетарный шлюз принадлежит другой компании. Как правило, вы должны платить поставщику за использование его шлюза, и вы не можете расширить шлюз для добавления или улучшения его функций. Но поставщик будет выполнять некоторые административные и управленческие задачи, такие как обеспечение соблюдения требований и лимитов квот, за вас.
В отличие от проприетарного шлюза , шлюз с открытым исходным кодом можно использовать бесплатно, и вы можете расширять его по мере необходимости. Как правило, для расширения этого типа шлюза доступны плагины. Однако вы будете отвечать за повседневное управление этим решением.
Поставщики услуг шлюза
Если вы хотите воспользоваться преимуществами шлюза , вы можете выбрать из широкого спектра поставщиков. В зависимости от ваших потребностей вы можете выбрать поставщика, который предлагает проприетарный шлюз или шлюз с открытым исходным кодом, который специализируется на микросервисах или другом типе архитектуры и т.д. Приведенные ниже поставщики предлагают различные типы шлюзов , услуг и моделей ценообразования для удовлетворения потребностей и бюджетов различных предприятий. Давайте взглянем.
Amazon Gateway
Amazon Gateway – это полностью управляемый сервис, призванный упростить разработчикам создание и управление в любом масштабе. Разработчики могут создавать -интерфейсы для использования в своих собственных клиентских приложениях или для предоставления сторонним разработчикам приложений. Помимо возможности создавать и публиковать -интерфейсы для доступа к AWS, другим веб-сервисам или данным, хранящимся в облаке AWS, разработчики также могут гораздо проще поддерживать, отслеживать и защищать эти . Это связано с тем, что Amazon Gateway может принимать и обрабатывать до сотен тысяч одновременных вызовов и все связанные с этим задачи, такие как управление трафиком, авторизация и контроль доступа, регулирование и мониторинг.
Использование Amazing Gateway не требует минимальных сборов или начальных затрат. Вы несете ответственность только за получаемые вызовы и объем передаваемых данных. Чтобы обеспечить ваш рост, Amazon предлагает
Шлюз Apigee
Apigee Gateway – это масштабируемое и безопасное решение от Google. С помощью этой платформы разработчики могут проектировать, защищать, публиковать, анализировать, отслеживать и монетизировать . Apigee особенно идеально подходит для модернизации устаревших систем SAP, поскольку он обеспечивает «оболочку » – или уровень абстракции – между разработчиками и устаревшими системами SAP. Это означает, что разработчики получают возможность работать с многофункциональными и адаптивными -интерфейсами и имеют согласованный и надежный опыт, в то время как платформа Apigee обрабатывает переводы вызовов и передачу запросов в базовую среду SAP. Платформа также выполняет другие функции, включая аутентификацию, оценку угроз и регулирование.
Вы можете попробовать Apigee Gateway бесплатно, но вам придется заплатить, чтобы ваша программа была запущена. Существует три уровня: стандартный, корпоративный и корпоративный плюс. Вам необходимо связаться с Google, чтобы узнать цены для любого из этих уровней.
Шлюз Azure
Шлюз Azure идеально подходит для гибридных и многооблачных сред с , размещенными как локально, так и в облаках. С помощью этого шлюза организации могут эффективно и безопасно управлять всеми своими из единой службы управления .
Шлюз отвечает за прокси-запросы , применение политик безопасности и соответствия, а также сбор телеметрии – и это только одна часть решения Microsoft для управления . Помимо шлюза есть плоскость управления и портал разработчика. Плоскость управления представлена как и используется для настройки службы управления через портал Azure и другие поддерживаемые механизмы. Портал разработчика используется разработчиками, чтобы узнать, как использовать и сотрудничать.
Kong шлюз
Kong Gateway – это шлюз с открытым исходным кодом, оптимизированный для архитектуры микросервисов (хотя он может работать с любым типом архитектуры). Kong Gateway построен на основе легкого прокси, поэтому он может минимизировать задержку и масштабирование для нескольких приложений микросервисов, независимо от того, где они работают. Помимо управления и регулирования запросов , он также предоставляет уровень аутентификации для защиты ваших сервисов и аналитики для визуализации и мониторинга трафика к вашим и микросервисам.
Kong Gateway можно загрузить бесплатно, но вы можете
Tyk Gateway
Шлюз Tyk имеет открытый исходный код, как и Kong. Хотя у него нет такого большого сообщества или такого количества плагинов, как у Kong, Tyk прост в использовании и расширении. Панель управления Tyk упрощает проектирование, обслуживание, управление и защиту ваших -интерфейсов, а также выполнение любых административных задач, будь то управление ключами , ограничение скорости, квоты, управление версиями , контроль доступа к PR. Однако Tyk не предлагает каких-либо интегрированных функций биллинга, что может затруднить монетизацию ваших .
Выбор подходящего шлюза
Шлюзы могут упростить, ускорить и безопаснее создавать -интерфейсы и управлять ими для вашего бизнеса. Выбор подходящего будет зависеть от того, сколько вы хотите потратить, какую роль вы хотите играть в повседневном управлении своим шлюзом, а также от того, хотите ли вы, помимо других факторов, расширить его функциональные возможности.
Источник записи: