• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • springcloud學習筆記(八)SpringCloud集成zuul路由(一)

    標簽: zuul

    在微服務架構中,需要幾個基礎的服務治理組件,包括服務注冊與發現、服務消費、負載均衡、斷路器、智能路由、配置管理等,由這幾個基礎組件相互協作,共同組建了一個簡單的微服務系統。一個簡答的微服務系統如下圖:

    Azure (1).png 
    注意:A服務和B服務是可以相互調用的,作圖的時候忘記了。并且配置服務也是注冊到服務注冊中心的。

    在Spring Cloud微服務系統中,一種常見的負載均衡方式是,客戶端的請求首先經過負載均衡(zuul、Ngnix),再到達服務網關(zuul集群),然后再到具體的服。,服務統一注冊到高可用的服務注冊中心集群,服務的所有的配置文件由配置服務管理(下一篇文章講述),配置服務的配置文件放在git倉庫,方便開發人員隨時改配置。

    一、Zuul簡介

    Zuul的主要功能是路由轉發和過濾器。路由功能是微服務的一部分,比如/api/user轉發到到user服務,/api/shop轉發到到shop服務。zuul默認和Ribbon結合實現了負載均衡的功能。

    zuul有以下功能:

    • Authentication
    • Insights
    • Stress Testing
    • Canary Testing
    • Dynamic Routing
    • Service Migration
    • Load Shedding
    • Security
    • Static Response handling
    • Active/Active traffic management

    不多說,上面是復制的,下面開始代碼測試:

    項目結構如下圖


    首先,啟動類加入注解@EnablezuulProxy:

    package com.xc;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
    import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
    
    @SpringBootApplication
    @EnableDiscoveryClient
    @EnableZuulProxy
    public class App_zuul {
        public static  void  main(String[] args){
            SpringApplication.run(App_zuul.class,args);
        }
    }

    資源文件application.yml:

    eureka:
      client:
        healthcheck:
          enabled: true
        serviceUrl:
          defaultZone: http://xc:123@localhost:8761/eureka
    server:
      port: 6543
    spring:
      application:
        name: service-zuul
    zuul:
      routes:
        api-a:
          path: /api-a/**
          serviceId: cloud-test
        api-b:
          path: /api-b/**
          serviceId: cloud-test2

    其中serviceId:cloud-test為微服務,并且有個服務為hello:


    其中serviceId:cloud-test2為微服務,并且也有個服務為hello:


    下面我們啟動注冊中心,以及路由微服務和兩個測試微服務。

    如下:



    我們訪問

    http://localhost:6543/api-a/hello  成功訪問到sercice1



    http://localhost:6543/api-b/hello  成功訪問到sercice2



    ok,一個簡單的路由就搭建起來了

    版權聲明:本文為qq_34246546原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/qq_34246546/article/details/79359323

    智能推薦

    SpringCloud Zuul 路由配置

      個人博客網:www.lfuping.cn    (你想要這里多有)   Zuul 路由配置 一、新建一個module springcloud-zuul-1項目 zuul也注冊到eureka服務里,端口3001; pom.xml完整配置要加上: application.yml配置文件: 主啟動類:ZuulApplication_3001 加下@Enable...

    SpringCloud: 路由網關(zuul)

    在微服務架構中,需要幾個基礎的服務治理組件,包括服務注冊與發現、服務消費、負載均衡、斷路器、智能路由、配置管理等,由這幾個基礎組件相互協作,共同組建了一個簡單的微服務系統。一個簡答的微服務系統如下圖: (轉載http://blog.csdn.net/forezp/article/details/69939114) 在Spring Cloud微服務系統中,一種常見的負載均衡方式是,客戶端的請求首先經...

    SpringCloud Zuul路由詳解

    1.服務路由配置 ⑴方式1 ⑵方式2 ⑶方式3 zuul.routes.<serviceId>=<path>,其中<serviceId>用來指定路由的具體服務名,<path>用來配置匹配的請求表達式, 2.服務路由默認規則 大部分的路由規則機會都會采用服務名作為外部請求的前綴,比如下面的列子,其中path路徑的前綴使用了user-service,而對...

    springcloud搭建路由網關(springcloud zuul)

    導入依賴 配置application.yml文件 啟動類 啟動相關項目,進入eureka查看是否啟動成功 正常訪問地址->http://localhost:8081/selectPersonList zuul代理后地址->http://localhost:8086//person/selectPersonList or zuul代理后地址->http://localhost:80...

    springCloud之zuul路由網關

    Zuul的主要功能是路由轉發和過濾器,路由功能是微服務的一部分,比如/api/user轉發到user服務,/api/shop轉發到shop服務。zuul默認和ribbon結合實現了負載均衡的功能。 核心代碼和配置如下: zuul不僅只是路由,并且還能過濾,做一些安全驗證。 這時訪問:http://localhost:8769/api-a/hi?name=forezp ;網頁顯示: 訪問 http:...

    猜你喜歡

    SpringCloud之zuul(路由網關)

    1、zuul是什么(zuul提供代理 + 路由 + 過濾的三大功能)? 2、引入依賴: 3、配置application.yml文件: 4、啟動類開啟注解(@EnableZuulProxy) 5、訪問接口,測試: 6、如果不想暴露真正的微服務名稱,可以起一個別名,修改application.yml文件: 7、訪問測試(這2個路勁都是可以訪問的,所以需要忽略原服務名): 8、忽略原服務名訪問,修改ap...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    精品国产乱码久久久久久蜜桃不卡