zoukankan      html  css  js  c++  java
  • 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 访问

  • 相关阅读:
    vs 2005 下 逐阶 海量测试堆算法 记录 【永久更新】
    预备 归并排序 –from wikipedia 演示
    有关堆栈溢出(in vs 2005)的读书笔记堆栈中 申请大数组
    Heapsort 代码 学习笔记 阳春三月版
    那些基础算法的 数学不等式 @快排分划 @kmp覆盖函数
    珠儿 快排 三月版本(主题:学代码,撘框架)(永久更新)
    c 语言格式输出 浮点数 不要用 整形输出 教训
    修改 堆栈大小 普适性方案总结 (跨平台 windows linux 栈设置大小)
    转tip 在VC下编译使用unistd.h,times.h等文件
    DB2用命令窗口连接数据库
  • 原文地址:https://www.cnblogs.com/Dm920/p/13162297.html
Copyright © 2011-2022 走看看