• SpringCloud(4)


    一、概述

    Zuul提供了代理、路由、过滤三大功能!

    主要的功能:

    路由:负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础。

    过滤:负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础。

    Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时还可以从Eureka中获取其他微服务的消息,以后访问微服务都是通过Zuul跳转后获得的。

    注意Zuul服务最终还是会注册进Eureka

    二、代码实现

    新建一个模块 springcloud-zuul-9207 

    导入依赖

    <!-- zuul -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-zuul</artifactId>
        <version>1.4.6.RELEASE</version>
    </dependency>
    <!-- 由于zuul 也是微服务所以应该属于euaeka的客户端,所以需要引入这个 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka</artifactId>
        <version>1.4.6.RELEASE</version>
    </dependency>
    <!-- web -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- 热部署工具 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
    </dependency>

    新建application.yaml,进行配置

    server:
      port: 9207
    
    # Spring配置
    spring:
      application:
        name: springcloud-zuul
    
    # Eureka配置
    eureka:
      client:
        service-url:
          defaultZone: http://localhost:7001/eureka/,http://localhost:7002/eureka/,http://localhost:7003/eureka/
      instance:
        instance-id: zuul9207.com
        prefer-ip-address: true # 隐藏真实IP
    
    # zuul路由配置
    zuul:
      routes: # 隐藏服务名称,通过新的path访问
        mydept.serviceId: springcloud-provider-dept
        mydept.path: /mydept/**
      ignored-services: springcloud-provider-dept # 忽略服务,不能再使用这个路径访问,"*"可以隐藏全部
      prefix: /cyan # 设置统一公共的前缀
    
    # 配置信息
    info:
      app.name: cyan-springcloud
      company.name: blog.cyan.com

    新建一个主启动类,并添加 @EnableZuulProxy 注解

    @SpringBootApplication
    @EnableZuulProxy  // 开启代理
    public class ZuulApplication_9207 {
        public static void main(String[] args) {
            SpringApplication.run(ZuulApplication_9207.class, args);
        }
    }

    三、测试

    ① 配置 serviceId 和 path

    只能通过 http://localhost:9207/mydept/dept/get/1 与 http://localhost:9207/springcloud-provider-dept/dept/get/1 访问

    ② 增加 ignored-services 忽略配置,可以配置星号 "*" 忽略所有

    只能通过 http://localhost:9207/mydept/dept/get/1 访问

    ③ 配置 prefix 增加统一的前缀 

    只能通过 http://localhost:9207/cyan/mydept/dept/get/1 访问

  • 相关阅读:
    C#微信开发
    3-4:字符串方法
    2-4-1 元组
    2-3-3 列表方法
    2-2-3:序列(字符串)乘法(p32)
    3-3字符串格式化(p47)
    2-2:分片
    2-1:Print date(p28)
    old.2.三次登录机会
    old.2.sum(1-2+3-4+...+99)
  • 原文地址:https://www.cnblogs.com/Dm920/p/13162297.html
Copyright © 2020-2023  润新知