minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Uma API é uma solução de software que atua como intermediária para permitir que dois aplicativos interajam entre si. Os seguintes recursos tornam as APIs mais úteis e valiosas:
Hoje, quase todas as empresas usam muitos tipos de API.API de comparação facial、API de autenticação de nome real de vídeo、API de autenticação de nome real facial、API de teste de atividade、API de detecção facialetc., para enriquecer as capacidades de serviço das empresas.
Existem também muitas empresas que vendem principalmente produtos API, como Baidu Smart Cloud, Yibao Pay, Xiangyun Identification, Authing.cn..., etc., para ajudar os clientes a resolver certos problemas.
Gateway de APIsimmicrosserviços Um conceito importante em arquitetura. Ele constitui o ponto de entrada para clientes externos (qualquer coisa que não faça parte do sistema de microsserviços). É o componente que atua como ponto de entrada para o aplicativo.
Em outras palavras, um gateway de API é um servidor de gerenciamento de API que contém informações sobre endpoints. Ele também realiza autenticação, limitação de taxa, balanceamento de carga e muito mais.
Para entender melhor o API Gateway, precisamos saber por que é necessário ter um API Gateway.
Para entender a necessidade de um gateway de API, vamos discutir um caso de uso para um aplicativo de comunicação eletrônica
Dê uma olhada em um estudo de caso de uma página complexa (como uma página de produto) em um aplicativo de comércio eletrônico. Se olharmos a página de listagem de produtos da Amazon abaixo, podemos ver que esta página específica precisa apresentar muitas informações.
Para fins de explicação, vamos listar todos os microsserviços que podem ser necessários para renderizar a página específica acima.
Considere que produtos de pesquisa, estoque, remessa, classificações e avaliações, mecanismo de recomendação, mercadorias e finanças e seguros são os sete (7) microsserviços diferentes usados para renderizar a página acima.
Nota: Os sete microsserviços acima são apenas uma hipótese para explicar o conceito de API gateway. Na realidade, a Amazon pode ter um número variável de microsserviços.
O problema: como esses microsserviços foram implantados em servidores diferentes, se o cliente quiser acessar esses serviços, uma página requer pelo menos sete chamadas
Mas essa abordagem é realmente boa? Não creio que esta seja uma abordagem recomendada pois temos que fazer sete chamadas diferentes, o que com certeza impactará no desempenho, consumo de recursos, tempo de carregamento, etc. O cliente também está fortemente acoplado a todos os serviços, supondo que tenhamos que separar os microsserviços “avaliações” e “classificações” em dois serviços diferentes, teremos que atualizar o código do cliente. O cliente precisa ligar uma vez para obter a avaliação e outra para obter a classificação, o que realmente não é a melhor maneira de lidar com isso.
solução
Então, qual é a abordagem recomendada? API Gateway, temos uma camada chamada API Gateway entre o cliente e os microsserviços. É o serviço front-end para todos os microsserviços. Agora que qualquer cliente quiser acessar o microsserviço, o cliente deve chamar o gateway da API. Agora, o gateway da API, por sua vez, chama todos os microsserviços e obtém as respostas que precisarmos. Este processo é chamado de composição de API.
Resumindo, um gateway de API fica entre clientes e microsserviços e atua como um gateway para todos os microsserviços.
Além disso, o uso do gateway API também pode nos beneficiar de várias maneiras.
O API Gateway nos ajuda a implementar testes A/B, armazenamento em cache, gerenciar cotas de acesso, monitoramento de integridade de API, controle de versão de API, testes Chaos Monkey, monetização e muito mais. Vamos falar sobre alguns dos benefícios abaixo.
Cada vez que você faz uma chamada de API, você deve usar o endereço IP público para acessar o serviço. Isso expõe o risco.
Ao mudar para o API Gateway, eles só poderão ser acessados usando endereços IP privadosmicrosserviços . Isso resulta em uma forma mais segura de transações de dados. também,Gateway de APIO uso de também protege os dados contra ataques maliciosos e DDoS.
Para garantir a segurança, os certificados TLS são necessários, e o API Gateway cuida de tudo isso, mantendo todas as nossas APIs atrás de um único IP ou domínio estático e ajudando a protegê-las com chaves, tokens e filtragem de IP.
É importante garantir que os usuários que fazem login em seu aplicativo sejam autenticados e autorizados. O API Gateway é um ponto de entrada único que atende a todos os requisitos com facilidade. Portanto, permite que apenas usuários autorizados façam login e permite que usuários autenticados façam alterações, ganhando tolerância a falhas.
Em situações em que há diversas solicitações e tráfego crescente, o API Gateway pode ajudar a lidar com isso. Isso é feito criando vários serviços e chamando-os de Round-Robin. Ele gerencia e roteia solicitações de clientes com base em segmentos de usuários. Portanto, conteúdo de qualidade ou velocidade diferente pode ser fornecido a usuários diferentes.
Considere um caso de uso em que dois microsserviços são definidos para retornar imagens/vídeos de baixa qualidade e imagens/vídeos de alta qualidade para desktops e dispositivos móveis, respectivamente.
Neste caso, podemos configurar um API gateway para que atue como um roteador, se a solicitação vier de um dispositivo móvel, ele encaminhará a solicitação para um serviço de imagem/vídeo de baixa qualidade, se a solicitação for de um desktop, ele pode encaminhar a solicitação para um serviço de imagem/vídeo de alta qualidade. Esse roteamento pode ser feito com base em cabeçalhos, caminhos, parâmetros, etc.
Se um ou mais microsserviços forem adicionados ou removidos da aplicação, não atualizaremos o código do cliente. Nesse caso, precisamos fazer algumas alterações no próprio gateway da API para fazer chamadas com base no microsserviço atualizado.
Servir arquivos estáticos (HTML, JS, CSS, fontes) através de microsserviços não é o melhor uso, neste caso podemos mover esses arquivos para o API Gateway.
O gateway API pode salvar todo o conteúdo estático e atender os clientes diretamente. Da mesma forma, considere serviços que avaliam produtos em alta, onde as tendências são calculadas de hora em hora ou diariamente. Portanto, uma vez calculada a tendência para o resto do tempo, o serviço retornará a mesma resposta repetidamente.Neste caso, o gateway API possui um recurso chamadocache de respostafunção onde podemos mencionar o URL e o tempo limite para o qual a resposta precisa ser armazenada em cache.
Se quisermos aproveitar um protocolo como Web Sockets ou uma versão mais recente de HTTP (ou seja, HTTP/2), mesmo que nosso serviço de back-end não esteja pronto ou não seja compatível com HTTP/2 ou Web Sockets, o API Gateway Responsabilidade pela conversão do novo contrato no antigo acordo poderão ser adoptadas. Ele pode atuar como um adaptador de protocolo.
Kong Gateway é o código aberto mais popular baseado em proxy levenativo da nuvem Gateway de API. Está escrito em Lua com a ajuda do Nginx. É um mecanismo de modelo que ajuda a acelerar o tempo do evento. Kong garante desempenho de latência e escalabilidade incomparáveis para todos os nossos aplicativos de microsserviços, não importa onde sejam executados. Kong API Gateway é amplamente utilizado por empresas como Nasdaq, Honeywell, Cisco, FAB, Expedia, Samsung, Siemens e Yahoo Japan.
Alguns dos recursos fornecidos pelo Kong incluem:
Kong tem excelente documentação e integrações
Apache APISIX nasceu originalmente na tecnologia Zhiliu da China e mais tarde entrou na incubadora Apache e tornou-se código aberto. Ming Wen, vice-presidente do projeto, disse que este gateway de API resolve vários desafios trazidos pelos microsserviços e nativos da nuvem. Apache ApiSix é usado por 360, HelloTalk, NetEase, TravelSky e outras empresas.
Apache APISIX é baseado em Nginx e etcd. Possui roteamento dinâmico e funções de carregamento a quente de plug-ins e é particularmente adequado para gerenciamento de API em sistemas de microsserviços.
Tyk é um gateway de API de código aberto de nível empresarial. Você pode optar por usar auto-hospedado ou hospedado.
Aqui estão alguns dos recursos que o TYK oferece imediatamente:
TYK também está disponível no AWS Marketplace. Esta é uma boa escolha se sua pilha de aplicativos estiver na AWS.
Ocelot é um gateway de API .net. O projeto foi projetado para usar .net para executar microsserviços ou arquiteturas orientadas a serviços que requerem um ponto de entrada de sistema unificado. No entanto, ele funcionará com qualquer coisa que use HTTP e será executado em qualquer plataforma suportada por ASP com suporte para .NET Core.
Ocelot atua como middleware em uma ordem específica. Ele manipula o objeto HttpRequest para o estado especificado por sua configuração até atingir o middleware do construtor de solicitações. Ele cria um objeto HttpRequestMessage para solicitar serviços downstream. O middleware que faz a solicitação é a última coisa no pipeline do Ocelot. Ele não chama o próximo middleware. A parte do middleware será HttpResponsemA mensagem é mapeada para o objeto HttpResponse e retornada ao cliente.
Ocelot fornece recursos padrão como roteamento, autenticação, limitação de taxa, cache, balanceamento de carga e muito mais. Ele não suporta codificação em partes, encaminhamento de cabeçalhos de host e Swagger.
Wukong API Gateway é um projeto guarda-chuva da EOLINK Company. É um gateway de microsserviço baseado em golang que oferece suporte a roteamento dinâmico de alto desempenho, orquestração de serviços, gerenciamento multilocatário, controle de acesso de API e outras funções. Wukong fornece uma interface gráfica e um sistema de plug-in para tornar a configuração mais fácil e a expansão mais conveniente. Além dos recursos padrão, Goku também oferece clustering, atualizações importantes, alertas, registro e outras funções.
Express Gateway é construído em Express.js. Express Gateway é um conjunto de componentes construídos declarativamente em torno do Express para atender aos casos de uso do API Gateway. O poder do Express Gateway aproveita o rico ecossistema que envolve o middleware Express. Empresas como Joyent, The Linux Foundation, VIRICITI, Switch Media, Coozy e Musement estão usando extensivamente gateways Express. É simples, rápido e oferece todos os recursos básicos.
Gloo é o gateway de API completo e controlador de entrada de próxima geração para ambientes nativos da nuvem. Ele é baseado no Envoy Proxy e é usado para conectar, proteger e controlar o tráfego entre serviços de aplicativos. O Gloo oferece suporte à conexão com uma ampla variedade de cargas de trabalho para protegê-las e gerenciá-las, e é excelente no roteamento em nível de função. Ele está disponível como código aberto e corporativo. A Edição Empresarial oferece os seguintes recursos:
KrakenD é um gateway API de código aberto de altíssimo desempenho. Sua principal funcionalidade é criar uma API que agrega muitos microsserviços em um único endpoint, automatizando o trabalho pesado para você: agregação, transformação, filtragem, decodificação, otimização, validação e muito mais. Ele fornece uma maneira declarativa de criar endpoints. Ele é bem estruturado e em camadas, e sua funcionalidade pode ser estendida usando middleware plug-and-play desenvolvido pela comunidade ou internamente. KrakenD afirma ser mais rápido que Kong e Tyk.
Fusion é um sistema de gerenciamento de API porque ajuda a desenvolver os endpoints reais da API (ou seja, solicitar e transformar dados do banco de dados). Não se limita a solicitações de proxy para outra API. Ele fornece um back-end simples e intuitivo para controlar e gerenciar APIs. Alguns dos recursos fornecidos pelo Fusion incluem:
WSO2 é uma solução completa de gerenciamento de API de ciclo de vida que pode ser executada em qualquer lugar. Ele pode ser implantado no local, na nuvem ou de forma híbrida, onde seus componentes podem ser distribuídos e implantados em várias infraestruturas locais e na nuvem. Inclui um gateway de API nativo da nuvem e fornece um operador Kubernetes para converter facilmente microsserviços brutos em APIs gerenciadas. O API Manager integra-se à malha de serviço para fornecer um plano de gerenciamento completo e um plano de controle para gerenciar, monitorar e monetizar APIs e produtos de API. Ele suporta publicação de API, gerenciamento de ciclo de vida, desenvolvimento de aplicativos, controle de acesso, limitação de taxa e análise em um sistema claramente integrado.
Apigee é uma plataforma de gerenciamento de API entre nuvens do Google Cloud.
Possui as seguintes características:
Endpoint é uma versão leve da Apigee do Google Cloud. É mais adequado para desenvolvedores desenvolverem, implantarem e gerenciarem APIs em qualquer back-end do Google Cloud. Ele fornece ferramentas e bibliotecas para seus clientes a partir de aplicativos do App Engine. Os Google Cloud Endpoints são totalmente integrados a outros produtos, como Trace and Logging para monitoramento, Auth0 e Firebase para autenticação, GKE e App Engine para implantação automatizada, etc.
A AWS pode fornecer tudo o que você precisa para executar seu aplicativo. O mesmo vale para APIs. Amazon API Gateway é um serviço totalmente gerenciado que permite aos desenvolvedores formar facilmente -> publicar -> manter e proteger APIs em qualquer escala.Ele suporta RESTful eSoquete da Web api e nos permite ativar a comunicação bidirecional em tempo real. Você pode aprender sobre o gateway de armazenamento em nuvem AWS para ver como o gateway funciona.
Se seus microsserviços ou APIs já estiverem hospedados na AWS, a integração com o Amazon API Gateway faz sentido. Eles oferecem 1 milhão de chamadas de API no nível gratuito, o que é bom para você entender como funciona.
O Microsoft Azure fornece gerenciamento de API ponta a ponta na nuvem, no local ou híbrido. Você pode gerenciar a API programaticamente por meio da API REST e do SDK. Se você usar SOAP, poderá importar a linguagem de descrição de serviços da Web do serviço SOAP (WSDL ), o Azure criará o front-end SOAP. Eles oferecem todos os recursos padrão, incluindo lucratividade.
Use MuleSoft para gerenciar APIs e aumentar a eficiência dos negócios. Ele permite criar, proteger, gerenciar e controlar APIs comuns em qualquer lugar. Você pode usar pipelines de CI/CD e a nova CLI para descobrir APIs e acelerar a entrega de aplicativos. MuleSoft permite projetar APIs usando diferentes protocolos, aderindo aos padrões de governança e mantendo a alta qualidade. Colete dados de APIs para explorar, servir e unificar todos os dados em consultas GraphQL. Isso pode ser feito com a ajuda do DataGraph.
Usando o gateway flexível da MuleSoft, você pode gerenciar seus serviços sem se preocupar com tamanho, nuvem ou idioma. MuleSoft fornece um painel de controle onde você pode analisar, gerenciar e proteger suas APIs, microsserviços e usuários. Desenvolva os modelos de negócios e fluxos de receita mais recentes para maximizar o valor da sua API, concentrando-se na adoção, na comunidade da API e no processo de consumo.
Além disso, a MuleSoft oferece Anypoint Exchange para integrar suas APIs com uma única fonte de verdade para potencializar seus negócios. Você pode usar qualquer pontoGovernança de APIColoque a governança de API em funcionamento sem sobrecarga de desenvolvimento.
Não pense na complexidade quando você tem serviços de gerenciamento de API Boomi que podem ajudar sua empresa a implantar, gerenciar e proteger APIs com eficiência.
O Boomi API Management pode lidar com o ciclo de vida completo das APIs em qualquer plataforma. Isso permite configurar facilmente a API e implementar integrações. Possui uma interface de usuário inteligente e fácil de usar, e seus proxies de API fornecem dados para o seu negócio sempre que você o usa. Publique, controle e gerencie APIs (seja na nuvem, na borda ou no local) e gerencie e controle efetivamente o acesso aos dados. Boomi permite que você crie experiências omnicanal em redes sociais, IoT e web móvel.
Você pode acessar facilmente dados de aplicativos existentes usando o API Developer Portal.
Boomi oferece recursos infinitos, como mediação, controle de versão, participação, autenticação, gerenciamento de políticas, monitoramento e gerenciamento de aplicativos. Você pode manter diferentes versões da API conforme necessário e garantir que as ações corretas sejam tomadas sobre elas.
Também permite implantar APIs com sistemas de autenticação de terceiros.
Ao integrar-se ao Boomi AtmoSphere, um assistente simples, você pode projetar e gerenciar APIs facilmente.
Quando sua API estiver pronta, não se esqueça de monitorá-la e protegê-la.
Com a introdução acima, você deve ter uma ideia do gateway de API e das soluções de gerenciamento disponíveis. Se você estiver com um orçamento apertado, pode tentar soluções de código aberto. É melhor instalar alguns primeiro e ver qual deles funciona para você.