zoukankan      html  css  js  c++  java
  • Spring Cloud 微服务笔记(七) Zuul入门

    Zuul入门

    Zuul是从设备和网站到后端应用程序所有请求的前门,为内部服务提供可配置的对外URL到服务的

    映射关系,基于JVM的后端路由器。其具备一下功能:

    1)认证与授权

    2)压力控制

    3)金丝雀测试

    4)动态路由

    5)负载削减

    7)静态响应处理

    8)主动流量管理

    1.入门案例

    1)父pom.xml:

    <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.0.3.RELEASE</version>
        </parent>
        
        <!--  利用传递依赖,公共部分  --> 
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
            <!-- springboot web -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
        </dependencies>
    
        <!-- 管理依赖 -->
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>Finchley.RELEASE</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
        <!--注意: 这里必须要添加,否则各种依赖有问题 -->
        <repositories>
            <repository>
                <id>spring-milestones</id>
                <name>Spring Milestones</name>
                <url>https://repo.spring.io/libs-milestone</url>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
        </repositories>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>

    2.zuul-server依赖:

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

    3.主程序入口:

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

    4.配置文件:

    spring:
      application:
        name: zuul-server
    server:
      port: 5555
    eureka:
      client:
        serviceUrl:
          defaultZone: http://${eureka.host:127.0.0.1}:${eureka.port:8888}/eureka/
      instance:
        prefer-ip-address: true
    zuul:
      routes:
        client-a:
          path: /client/**     #将所有/client开头的URL映射到client-a这个服务中去,在请求的时候就可以不用请求实际的服务
          serviceId: client-a  #转而请求5555端口的Zuul服务组件,/client即一次服务路由规则
  • 相关阅读:
    PHP flush()与ob_flush()的区别
    IE 浏览器各个版本 JavaScript 支持情况一览表
    Jquery元素选取、常用方法
    JS阻止事件冒泡
    Ajax传递路径问题及解决
    JS时间戳格式化日期时间
    UEditor编辑器的使用
    使用PHPMailer发送邮件
    服务器数据库编码格式问题
    三级联动
  • 原文地址:https://www.cnblogs.com/Shadowplay/p/10613781.html
Copyright © 2011-2022 走看看