Configuração de Roteamento com Zuul no Spring Cloud

Para configurar o roteamento de microsserviços com Zuul no Spring Cloud, crie um servidor Zuul dedicado que atue como gateway. Siga as etapas a seguir para implementar uma solução básica.

Criar o Módulo do Servidor Zuul

Estabeleça um novo módulo no projeto para isolar a configuração do Zuul, facilitando a manutenção e a implantação.

Adicionar Dependências

Inclua as dependências necessárias no arquivo pom.xml do módulo. Utilize versões compatíveis com o Spring Cloud adotado.

<dependencies>
    <!-- Início das dependências do Zuul -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
        <version>1.4.6.RELEASE</version>
    </dependency>
    <!-- Suporte a tolerância a falhas -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
        <version>1.4.6.RELEASE</version>
    </dependency>
    <!-- Fim das dependências -->
</dependencies>

Verifique a compatibilidade de versões no gerenciador de dependências do projeto.

Implementar a Classe Pirncipal

Desenvolva a classe de aplicação principle para inicializar o servidor Zuul com as anotações corretas.

package com.rota.zuul;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;

@SpringBootApplication
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
@EnableZuulProxy
public class AplicacaoServidorRota {

    public static void main(String[] args) {
        System.out.println("Iniciando o servidor de roteamento Zuul...");
        SpringApplication.run(AplicacaoServidorRota.class, args);
        System.out.println("Servidor de roteamento Zuul em execução.");
    }
}

A exclusão da configuração de banco de dados evita erros se não houver fonte de dados conectada.

Definir as Configurações de Propriedades

Crie o arquivo application.properties para estabelecer regras de roteamento e parâmetros do servidor.

# Identificação da aplicação
spring.application.name=servidor-roteamento
# Porta do servidor Zuul
server.port=8004
# Localização do servidor de registro Eureka
eureka.client.serviceUrl.defaultZone=http://localhost:8001/eureka/

# Regras de roteamento
# Caminho externo prefixado para o serviço consumidor
zuul.routes.servico-consumidor.path=/consumidor/**
# Nome do microsserviço alvo registrado no Eureka
zuul.routes.servico-consumidor.serviceId=consumidor

# Alternativa: mapeamento direto via URL
# zuul.routes.servico-consumidor.url=http://192.168.200.16:8002

As configurações permitem redirecionar solicitações com base em caminhos URL.

Validar o Funcionamento

Execute os serviços necessários e verifique o acesso. Sem o Zuul, o acesso direto ao microsserviço consumidor seria via localhost:8002/Algoritmo/irParaServidor. Com o roteamento configurado, utilize o servidor Zuul: localhost:8004/consumidor/Algoritmo/irParaServidor. O sucesso indica que as requisições estão sendo encaminhadas corretamente.

Este método centraliza o acesso, melhora a segurança ao ocultar endpoints internos e suporta balanceamento de carga entre múltiplas instâncias de serviços.

Tags: Spring Cloud Zuul roteamento Netflix Zuul microsservicos

Publicado em 6-22 03:20