zoukankan      html  css  js  c++  java
  • 从实战的角度谈微服务(五):使用Zuul创建微服务网关、添加熔断

    一、简介

    Zuul 是 Netflix 开源的微服务网关,Spring Cloud 对 Zuul 进行了整合和增强。在 SpringCloud 体系中,Zuul 担任着网关的角色,对发送到服务端的请求进行一些预处理,比如安全验证、动态路由、负载分配等。

    二、配置步骤

    主要分三步:

    • 依赖包引入
    • 配置文件修改
    • 启动类添加注解

    三、依赖包引入

    在pom.xml文件新引入依赖包

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

    </dependency>

    四、配置文件修改

    eureka:
      client:
        serviceUrl:
          defaultZone:http://localhost:8761/eureka/
    server:
      port:8769
    spring:
      application:
        name:service-zuul
    zuul:
      routes:
        api-a:
          path:/api-a/**
          serviceId:service-ribbon
        api-b:
          path:/api-b/**

          serviceId:service-feign

    以上,url为/api-a/**的路由转发到application的name为service-ribbon服务包
    url为/api-b/**的路由转发到application的name为service-feign服务包。

    五、修改项目启动类

    application配置添加如下注解
    @EnableZuulProxy
    @EnableEurekaClient

    如下图

    添加熔断-针对某一个服务
    创建熔断处理类
    ProducerFallback 实现接口FallbackProvider
    重写getRoute方法,返回对应服务的name

    重写fallbackResponse方法,处理相对应的结果

  • 相关阅读:
    03-JS事件循环-宏任务与微任务
    10-Promise.all和Promise.race
    nodeJS-04
    nodeJS-03
    01-npm / npm install的过程 -nodemon 自动重启
    nodeJS-02
    nodeJS-01
    01-git
    比较运算符,in,instanceof——第十二级
    TCP(Transmission Control Protocol 传输控制协议)
  • 原文地址:https://www.cnblogs.com/lovechengyu/p/10270213.html
Copyright © 2011-2022 走看看