`

Spring 初探(2) zuul

阅读更多
  1.在项目中pom.xml添加
     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
         <version>1.5.4.RELEASE</version>
     </parent>
     <dependencies>
         <!--加入Spring boot-->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter</artifactId>
         </dependency>
         <!--Zuul-->
         <dependency>
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-starter-zuul</artifactId>
             <version>1.3.1.RELEASE</version>
         </dependency>

         <!--添加eureka注册服务-->
         <dependency>
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-starter-eureka</artifactId>
             <version>1.3.1.RELEASE</version>
         </dependency>
     </dependencies>
2.创建boot启动程序,关键字@SpringBootApplication ,其实现main方法,做为进程入口SpringApplication.run(ZuulApplication.class, args);
    3.将其注册为Zuul代理,关键字@EnableZuulProxy,eureka客户端,关键字@EnableEurekaClient
    4.创建filter
    5.boot启动程序中注册filter,例如
        @Bean
        public ZuulFilter perFiler() {
            return new PreFilter();
        }
    6.application配置文件application.porperties
        #应用名称
        spring.application.name=zuul
        #服务端口
        server.port=5001
        #代理注册 url
        zuul.routes.eureka.path=/eur/**
        zuul.routes.eureka.url=http://localhost:8080/eureka/
        #代理注册 服务
        zuul.routes.demo.path=/demo/**
        zuul.routes.demo.serviceId=node
        zuul.routes.demo.stripPrefix=true
        #eureka服务器
        eureka.client.serviceUrl.defaultZone=http://localhost:8080/eureka/v2/
    7.启动node服务对应程序,启动本程序即可。
    8.测试结果如下:
        Node对应服务:IP1 10000端口,IP1 10001端口,IP1,IP实现/node/hello路径下方法,IP1同时实现/hello路径方法
        情况1:输入:http://ip:5001/demo/node/hello
        结果:IP1和IP2服务轮训返回,输出/node/hello路径下方法
        情况2:输入:http://ip:5001/node/node/hello
        结果:和情况一相同
        输入:http://ip:5001/node/hello
        结果:输出IP1/hello路径方法内容
        输入:http://ip1:10000/node/hello
        结果:正常
        输入:http://ip1:10000/hello
        结果:正常
        有代理后:端口后第一个参数其解析为代理path或注册服务,注意前提为 zuul.routes.demo.stripPrefix=true

git地址:https://github.com/leaf-it/demo-zuul.git
0
0
分享到:
评论

相关推荐

    spring-cloud-root.zip

    《SpringCloud实战:初探Eureka、Config、Zuul与Ribbon》 SpringCloud作为微服务架构的重要组件,为开发者提供了丰富的工具和框架来构建分布式系统。本篇将通过"spring-cloud-root.zip"这个Demo,深入探讨Spring ...

    初探微服务与Spring Boot

    【初探微服务与Spring Boot】 微服务架构是一种软件开发方法,它将应用程序设计为一组小型、独立的服务,每个服务都专注于一个特定的业务功能,且可以独立部署、扩展和维护。这种架构模式有助于提高软件的可伸缩性...

    spring-cloud-demo-main.zip

    2. **API网关**:Zuul是Spring Cloud的边缘服务,它可以处理所有客户端请求,并转发到相应的后端服务。在微服务架构中,Zuul可以实现负载均衡、路由控制、过滤器等功能,简化客户端的访问逻辑。在我们的项目中,可能...

    springCloudParent.zip

    《Spring Cloud与Spring Boot结合构建微服务初探》 在当今的互联网开发环境中,微服务架构已经成为企业级应用开发的主流选择。Spring Cloud与Spring Boot的结合,为开发者提供了强大的工具,使得构建、部署和管理...

    clouds.zip

    《Spring Cloud深度解析:从clouds.zip初探分布式微服务架构》 在现代软件开发领域,微服务架构已经成为主流,而Spring Cloud作为Java生态中的重要一环,为构建分布式系统提供了全面的工具集。本文将基于名为...

    微服务架构springboot demo

    6. **Spring Cloud Zuul**:Zuul是边缘服务和API网关,它可以处理路由、过滤、安全等任务,对外统一接口,隐藏后端服务细节。 在"微服务架构springboot demo"中,可能包含了一个简单的SpringBoot应用,展示了如何...

Global site tag (gtag.js) - Google Analytics