zoukankan      html  css  js  c++  java
  • springcloud-zuul路由网关

    路由网关(zuul)

    在微服务架构中,需要多个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能
    路由、配置管理等,由这个基础组件相互协作,共同组建了一个简单的微服务系统。一个简单的微服务系统如下

    总结:在Spring Cloud微服务系统中,一种常见的负载均衡方式是,客户端的请求先先经过负载均衡(zuul、
    Ngnix),再到达服务网关(zuul集群),然后再到具体的服务。服务统一注册到高可用的服务注册中心集群,服务的所有的配置文件由配置服务管理,配置服务的配置文件仓库,方便开发人员随时改配置。

    1.Zuul 简介

    Zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如/api/user转发到到user服
    务,/api/shop转发到到shop服务。zuul默认和Ribbon结合实现了负载均衡的功能

    1.搭建Zull
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-zuul</artifactId>
     </dependency>
    
    2.编写Zuul的入口类
     @EnableZuulProxy
     @EnableEurekaClient
     @SpringBootApplication
     public class ServiceZuulApplication {
    
     public static void main(String[] args) {
     SpringApplication.run(ServiceZuulApplication.class, args);
     }
    }
    
    3.application.yml配置文件
    eureka.client.serviceUrl.defaultZone: http://localhost:8080/eureka/
    server.port: 8769
    spring.application.name: service-zuul
    
    #关闭安全认证		
    management.security.enabled=false
    #设置断路时间
    hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=5000		
    

    注意:zuul中默认有hystrix断路器,如果响应时间超过1秒,断路器打开,这几乎是不可能的,所以必须调整断路时间
    使用:当前zuul使用默认路由规则,访问:http:zuul端口/服务实例名/控制器方法
    这是单节点的主流配置,如果需要配置zuul集群,需要配置Nginx代理,配置分发规则。从图一可以看出微服务当前的架构经过三次的负载均衡:

    • Nginx--->Zuul
    • Zuul----->Client(分发)
    • Client--->Client (Ribbon)
  • 相关阅读:
    【图论】Tarjan 缩点
    【高级数据结构】左偏树
    【网络流·最大流】ISAP(Improved Shortest Augumenting Path)详解
    linux 压缩和解压文件(.gz.bz2)
    Python requests库
    jmeter 压测之动态数据关联
    Jmeter 之数据库测试
    Jmeter 参数未编码异常:java.net.URISyntaxException: Illegal character in query at index 172
    Fiddler 过滤地址设置
    loadrunner 连接mysql数据库获取数据进行参数化
  • 原文地址:https://www.cnblogs.com/mzc1997/p/10262091.html
Copyright © 2011-2022 走看看