O que é Zuul:
Zuul Server é um aplicativo API Gateway. Ele trata todas as solicitações e realiza o roteamento dinâmico de aplicações de microsserviços. Funciona como porta de entrada para todas as solicitações. Também é conhecido como Servidor de borda.
Zuul foi criado para permitir roteamento dinâmico, monitoramento, resiliência, e segurança. Ele também pode encaminhar as solicitações para vários Grupos do Amazon Auto Scaling .
Por exemplo, /api/produtos são mapeados para produtos serviço e /api/usuário está mapeado para o do utilizador serviço. O servidor Zuul roteia dinamicamente as solicitações para o respectivo aplicativo backend.
Por que usamos o Zuul?
O volume e a variedade do tráfego da API Netflix às vezes resultam em problemas de produção que surgem rapidamente e sem aviso prévio. Portanto, precisamos de um sistema que nos permita mudar rapidamente o comportamento para reagir a estas situações.
Zuul oferece uma variedade de diferentes tipos de filtros que nos permite aplicar funcionalidade de forma rápida e ágil ao nosso serviço de ponta. Os filtros executam as seguintes funções:
Componentes Zuul
Componentes do Zuul 2.x:
Componentes do Zuul 1.x:
Configurando o servidor Zuul API Gateway
Há três etapas para configurar o Zuul API Gateway:
- Crie um componente para o Zuul API Gateway
- Decida o que o Zuul API Gateway deve fazer
- Todas as solicitações importantes são configuradas para passar pelo Zuul API Gateway
Siga as etapas para configurar o servidor Zuul API Gateway.
Passo 1: Abrir Inicialização Spring https://start.spring.io .
Passo 2: Proporciona a Grupo nome. Nós fornecemos com.javatpoint.microservices.
Etapa 3: Proporciona a Artefato. Nós fornecemos servidor netflix-zuul-api-gateway.
Passo 4: Adicione as seguintes dependências: Zuul, Eureka Discovery, Atuador, e Ferramentas de desenvolvimento.
Etapa 5: Clique no Gerar botão. Ele começa a empacotar o projeto em fecho eclair arquivo e baixe-o.
Etapa 6: extrair o arquivo zip e cole-o na área de trabalho do Spring Tool Suite.
Etapa 7: importar o projeto no STS IDE.
Arquivo -> Importar -> Projetos Maven Existentes -> Navegar -> Selecionar servidor netflix-zuul-api-gateway -> Selecionar Pasta -> Concluir
Demora algum tempo para importar.
Etapa 8: Abra o NetflixZuulApiGatewayServerApplication.java arquivo e habilite o proxy zuul e o cliente de descoberta usando as anotações @EnableZuulProxy e @EnableDiscoveryClient, respectivamente .
NetflixZuulApiGatewayServerApplication.java
package com.javatpoint.microservices.netflixzuulapigatewayserver; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; @EnableZuulProxy @EnableDiscoveryClient @SpringBootApplication public class NetflixZuulApiGatewayServerApplication { public static void main(String[] args) { SpringApplication.run(NetflixZuulApiGatewayServerApplication.class, args); } }
Etapa 9: Abrir aplicação.propriedades arquivo e configurar o nome do aplicativo, porta, e servidor de nomenclatura eureka .
aplicação.propriedades
spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eurekaClique aqui para baixar netflix-zuul-api-gateway-server