zuul 路由网关 微服务架构系统中

在微服务架构中,基本包含以下常见的组件。服务注册与发现、服务消费、负载均衡、断路器、只能路由、配置管理等。一个简单的微服务架构系统如下

一、Zuul简介

Zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分,zuul默认和Ribbon结合实现了负载均衡的功能。

/api/user --> user (转发)

/api/shop -->shop (转发)

二、pom文件中引入下面几个依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>

三、入口applicaton类加上注解@EnableZuulProxy,开启zuul的功能:

@SpringBootApplication
@EnableZuulProxy
@EnableEurekaClient
@EnableDiscoveryClient
public class ServiceZuulApplication {

    public static void main(String[] args) {
        SpringApplication.run( ServiceZuulApplication.class, args );
    }
}

四、修改配置文件(以/api-a/ 开头的请求都转发给service-ribbon服务;以/api-b/开头的请求都转发给service-feign服务)

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
server:
  port: 8769
spring:
  application:
    name: service-zuul
zuul:
  routes:
    api-a:
      path: /api-a/**
      serviceId: service-ribbon
    api-b:
      path: /api-b/**
      serviceId: service-feign

五、实例结束

猜你喜欢

转载自www.cnblogs.com/RoronoaZoro/p/11364573.html
今日推荐