• <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學習筆記4

    零、springcloud細節問題(回顧)

    1. Eureka Server
    2. Eureka Client
    • @EnableEurekaClient 專用于Eureka Server注冊中心
    • @EnableDiscoveryClient 通用任何注冊中心
    1. 客戶端的調用方式
    • restTemplate + ribbon
      ribbon(軟負載均衡 默認 輪詢)
      客戶端僅引入兩個依賴(spring-cloud-starter-eureka和spring-cloud-starter-ribbon),無須額外注解配置
    • Feign 推薦
      引入依賴
      創建接口(@FeignClient(“調用服務名稱”))
      入口類 @EnableFeignClients
    1. Hystrix斷路器 斷掉宕機的服務
    • restTemplate使用
      @HystrixCommand(fallbackMethod = “errorHello”)
      入口類中加入@EnableHystrix

    • Feign
      開啟斷路器 yml中

    feign:
    	hystrix:
    		enabled: true
    

    @FeignClient( value=“HELLO-SERVICE” ,fallback=實現類.class) //明確該接口對eureka中的哪個服務

    1. 項目引入依賴梳理
    • EurekaServer
      spring-cloud-starter-eureka-server
    • EurekaClient
      spring-cloud-starter-eureka 服務注冊,發現功能,restTemplate客戶端調用
      spring-cloud-starter-feign feign客戶端調用
      spring-cloud-starter-hystrix 斷路器
    1. springcloud提供的注解
      @SpringCloudApplication 相當于下面三個
      @SpringBootApplication
      @EnableDiscoryClient
      @EnableCircuitBreaker //默認開啟斷路器

    2. 其他

    • 服務提供者 或 服務消費者 在引入starter-eureka之后,自動依賴 feign enableDiscoverClient

    一、SpringCloud統一配置中心 引言

    • 為什么需要統一配置中心?
      統一配置中行顧名思義,就是將配置統一管理,配置統一管理的好處是在以后大規模集群部署服務應用時相同的服務配置一致,日后再修改配置只需要統一修改全部同步,不需要一個一個服務手動維護。
    • 解決問題:
      ①配置文件的維護問題
      ②安全隔離配置文件
      簡而言之:操作一處,修改全局。
    • 統一配置中心的架構圖
      圖一

    二、搭建統一配置中心

    1. 引入依賴
    2. 在入口類加入 @EnableConfigServer
    3. 在Aapplication中配置遠程倉庫位置
    4. config.server默認尋找配置解析

    三、Zuul(路由網關)

    • 微服務!!!
      因為,現在開發的模式發生了變化,公司為減輕人員流動帶來的影響,往往從服務擴展的角度進行業務拆分。按功能拆分服務,每個人員只開發一小模塊,減少項目與項目之間的功能耦合。而且又因為模塊小,可以減輕測試時啟動部署的時間。

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

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

    1. Zuul簡介.
      Zuul的主要功能是路由轉發過濾器 。路由功能是微服務的一部分,比如/api/user轉發到到user服務,/api/shop轉發到到shop服務。
      zuul默認和Ribbon結合實現了負載均衡的功能。
    2. 搭建zuul網關
      ①.依賴
     		<dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-eureka</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-zuul</artifactId>
            </dependency>
    

    ②.編寫入口類

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

    ③.配置文件

    server:
      port: 8760
    eureka:
      client:
        service-url:
          defaultZone: http://localhost:8761/eureka
    spring:
      application:
        name: zuul
    hystrix:
      command:
        default:
          execution:
            isolation:
              thread:
                timeoutInMilliseconds: 5000
    management:
      security:
        enabled: false
    
    zuul:
      routes:
        product:
          path: /aa/**
          serviceId: PRODUCT	#serviceId書寫的是之前的ribbon與feign的應用名稱
        aaaa:
          path: /bb/**
          serviceId: ORDER
    
    
    

    其他、底層的架構原理圖

    在這里插入圖片描述

    其他、對比

    微服務中,首先肯定離不開服務開發、服務配置與管理、服務注冊與發現、服務的調用、熔斷器以及負載均衡等等,除此之外,還有服務的路由、監控、部署,還有可能涉及到一些中間件等等。

    這些技術棧都有一些對應的落地技術實現,具體如下:

    技術棧都有一些對應的落地技術實現

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

    智能推薦

    springcloud學習筆記

    原文地址:請移步原文 一、什么是springcloud,有什么作用 Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發便利性巧妙地簡化了分布式系統基礎設施的開發,如服務發現注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,都可以用Spring Boot的開發風格做到一鍵啟動和部署。 二、springcloud的基本使用 1.服務的注冊與發現 ①創建一個pare...

    SpringCloud學習筆記(一)

    聲明:關于springcloud微服務的整套學習筆記都是基于開源項目AG-Admin的學習而整理的,本次文章中所涉及的包名或人名都沿用開源項目里面的名稱,也算是給老A推廣推廣他的項目吧。項目地址:https://gitee.com/geek_qi/ace-security。感謝老A能夠帶頭去搭建一個完整的spingcloud的微服務架構,這對于想要學習springcloud 的新手來說是...

    Springcloud學習筆記(二)

    上回在springcloud學習筆記(一)中我們演示了如何搭建eureka注冊中心和網關,今天我們借著老A的項目接著演示用戶微服務和配置微服務。用戶微服務就是用來模擬真實開發環境中的具體業務服務,配置微服務則是用來統一管理每個微服務的啟動文件的。 一:用戶微服務搭建 第一步是在ag-parent父工程中新建一個子工程取名ag-uc,接下來還是之前的套路,搭建一個微服務的三個步驟:導入依賴文件,修改...

    SpringCloud學習筆記

    SpringCloud學習筆記   ESB企業服務總線:用來連接各個服務節點,為了集成各種不同的服務。 1.系統架構演變 目標:   了解項目架構的演變歷程。 小結: 集中式架構 垂直拆分 分布式架構 SOA面向服務架構 微服務架構 2.微服務架構說明 目標:   了解SOA與微服務架構的區別以及說出微服務架構的特點。 分析: &emsp...

    SpringCloud學習筆記-Eureka

    注冊中心-Eureka Spring Cloud 封裝了 Netflix 公司開發的 Eureka 模塊來實現服務注冊和發現。Eureka 采用了 C-S 的設計架構。Eureka Server 作為服務注冊功能的服務器,它是服務注冊中心。而系統中的其他微服務,使用 Eureka 的客戶端連接到 Eureka Server,并維持心跳連接。這樣系統的維護人員就可以通過 Eureka Server ...

    猜你喜歡

    SpringCloud學習筆記------Feign

      feign有假裝的意思   為什么要叫假裝? Feign可以把Rest的請求進行隱藏,偽裝成類似SpringMVC的Controller一樣。你不用再自己拼接url,拼接參數等等操作,一切都交給Feign去做。   快速入門 先用起來,我們在使用的時候揭開它神秘的面紗吧 導入依賴 pom.xml 引入: Feign的客戶端 寫一個Controller dao層 啟...

    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壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

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