Spring Cloud實戰(七)-Spring Cloud Netflix Zuul

概要

  • 什麼是Spring Cloud Netflix Zuul?

  • 怎麼用 Spring Cloud Netflix Zuul?

什麼是Spring Cloud Netflix Zuul?

Zuul is a JVM based router and server side load balancer by Netflix.
Zuul 是一個基於JVM的路由器和服務端負載均衡器,它默認包含Ribbon和Hystrix.它其實就是一個API Gateway的部分實現,詳見博文
爲了解決以下問題的組件:

  • 身份驗證

  • 壓力測試

  • 動態路由

  • 服務遷移

  • 安全

  • 靜態響應處理

  • 流量控制

  • Load Shedding

  • Canary Testing

怎麼用Spring Cloud Netflix Zuul?

百說不如一run,構造一個例子來實現,這次的例子很簡單,就是啓動一個sentence的Zuul代理,通過Zuul的端口訪問指定word服務.

  • 基於實戰四的例子

  • 正常啓動Eureka Server

  • 正常啓動Eureka Client,此時我們這裏只啓動一個noun服務

  • 爲Eureka Sentence添加Pom依賴

    <dependency>
        <groupId>org.springframework.cloud</groupId>                         <artifactId>spring-cloud-starter-zuul</artifactId>
    </dependency>
  • 在Eureka Sentence的Application加上@EnableZuulProxy註解

  • 在Eureka Sentence的Application加上以下代碼實現ETag功能

 @Bean
    public Filter shallowEtagHeaderFilter() {
        return new ShallowEtagHeaderFilter();
    }    
  • Eureka Sentence的bootstrap.yml如下

spring:
  application:
    name: sentence
server:
  port: 8080
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:8010/eureka/

特別感謝 kennyk65
Spring Cloud 中文用戶組 31777218
Spring-Cloud-Config 官方文檔-中文譯本 (本人有參與,哈哈)
Spring Cloud Netflix 官網文檔-中文譯本
本文實例github地址 mmb-zuul

原文地址:https://segmentfault.com/a/1190000006551184
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章