zoukankan      html  css  js  c++  java
  • springcloud Zuul学习笔记

      SpringCloud Zull是一个基于NetflixZuul实现的API网关组件,它实现了请求路由,负载均衡,校验过滤等功能;本文主要记录springcloud zuul的入门级demo开发过程;

       Zull相当于用户和微服务之间的一个屏障,进行相关配置后它先于微服务接收用户请求并过滤、校验并进行转发,这样大大提高了微服务的安全性

      跟之前提到的springcloud组件一样,开发一个简单的zull服务我们只需要关注以下几点:

     1、pom.xml

        <!-- 导入zuul的依赖 -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-zuul</artifactId>
            </dependency>

     2、application.properties

    server.port=9999
    #应用名称
    spring.application.name=zuulServer
    
    # 是否需要将自己注册到注册中心中,默认值true
    eureka.client.registerWithEureka=true
    
    # 是否从注册中心中获取注册信息,默认值true
    eureka.client.fetchRegistry=true
    
    # 客户端和服务端进行交互的地址
    eureka.client.serviceUrl.defaultZone=http://127.0.0.1:7070/eureka/,http://127.0.0.1:7071/eureka/
    
    #将自己的ip地址注册到Eureka服务中
    eureka.instance.prefer-ip-address=true
    
    ############ 进行zuul配置 ############
    # 配置拦截的url,表示拦截sso开头的所有请求并进行服务转发
    zuul.routes.loginserver.path=/sso/**
    
    # 拦截到上面的path后制定分发个loginServer(之前开发的登录服务名称)
    zuul.routes.loginserver.serviceId=loginServer

     3、项目的启动类

    @EnableZuulProxy 
    @SpringBootApplication
    public class ZuulApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(ZuulApplication.class, args);
        }
    }

    4、过滤器的编写

    /**
     * zuul的过滤器
     */
    @Component
    public class LoginZuulFilter extends ZuulFilter {
        @Override
        public String filterType() {
            return "pre";
        }
    
        @Override
        public int filterOrder() {
            return 0;
        }
    
        @Override
        public boolean shouldFilter() {
            return false;
        }
    
        @Override
        public Object run() throws ZuulException {
            RequestContext context = RequestContext.getCurrentContext();
            System.out.println("☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆成功进入了过滤器☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
            return null;
        }
    }
  • 相关阅读:
    F2E Tool(前端工程师的工具箱)
    SQLServer 语句存档整理
    MySQL DATE_FORMAT() 函数
    sqlserver 自连接 生成一列数据
    mysql存储引擎:InnoDB和MyISAM的差别/优劣评价/评测/性能测试
    好书推荐
    Flashfxp 3.4的注册码
    mysql事务处理
    mysql 时间函数 格式化
    【转】PowerDesigner 中将Comment(注释)及Name(名称)内容互相COPY的VBS代码
  • 原文地址:https://www.cnblogs.com/darling2047/p/9544099.html
Copyright © 2011-2022 走看看