• <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入門學習筆記2--eureka

    標簽: SpringCloud  spring cloud

     

     

    一、Eureka簡介

    1.1 什么是Eureka

    EurekaNetflix開發的服務發現框架,SpringCloud將它集成在自己的子項目spring-cloud-netflix中,實現SpringCloud的服務發現功能。Eureka包含兩個組件:Eureka Server和Eureka Client

    Eureka Server提供服務注冊服務,各個節點啟動后,會在Eureka Server中進行注冊,這樣EurekaServer中的服務注冊表中將會存儲所有可用服務節點的信息,服務節點的信息可以在界面中直觀的看到。

    Eureka Client是一個java客戶端,用于簡化與Eureka Server的交互,客戶端同時也就別一個內置的、使用輪詢(round-robin)負載算法的負載均衡器。在應用啟動后,將會向Eureka Server發送心跳,默認周期為30秒,如果Eureka Server在多個心跳周期內沒有接收到某個節點的心跳,Eureka Server將會從服務注冊表中把這個服務節點移除(默認90秒)

    Eureka Server之間通過復制的方式完成數據的同步,Eureka還提供了客戶端緩存機制,即使所有的Eureka Server都掛掉,客戶端依然可以利用緩存中的信息消費其他服務的API。綜上,Eureka通過心跳檢查、客戶端緩存等機制,確保了系統的高可用性、靈活性和可伸縮性。

    1.2 Eureka服務端開發

    (1) 右鍵點擊父工程>new>module創建demo_eureka模塊

    (2) pom.xml引入eureka-server依賴

    (3)添加application.yml配置文件

    server:
      port: 8888
    eureka:
      client:
        register-with-eureka: false #是否將自己注冊到Eureka服務中,本身就是所有無需注冊
        fetchRegistry: false #是否從Eureka中獲取注冊信息
        serviceUrl: #Eureka客戶端與Eureka服務端進行交互的地址
         defaultZone: http://127.0.0.1:${server.port}/eureka/
      server:
        enableSelfPreservation: false #本地調試環境下關閉自我保護機制

    這里簡單說明一下Eureka 的保護機制:

    Eureka Server在運行期間,會統計心跳失敗的比例在15分鐘之內是否低于85%,如果出現低于的情況(在單機調試的時候很容易滿足,實際在生產環境上通常是由于網絡不穩定導致),Eureka Server會將當前的實例注冊信息保護起來。保護模式主要用于一組客戶端和Eureka Server之間存在網絡分區場景下的保護。一旦進入保護模式,Eureka Server將會嘗試保護其服務注冊表中的信息,不再刪除服務注冊表中的數據(也就是不會注銷任何微服務)。上面為了方便我們觀察到Eureka移除服務的情況,所以在本地測試時可以關閉他的保護機制。

    4)編寫啟動類

    在demo_eureka/src/mainjava下新建一個包  eureka,包下新建EurekaServer類,注意需要添加@EnableEurekaServer注解

    5)運行啟動類,然后在瀏覽器地址欄輸入 http://localhost:8888/ 運行效果如下:

    主界面中system status為系統信息 General Info為一般信息 Instances currently,registered with Eureka為當前注冊的所有微服務列表。

    1.3 服務注冊

     下面我們將新建一個模塊,用來測試Eureka 的服務注冊以及服務調用等。

    (1)右鍵點擊父工程>new>module創建demo_base模塊。(該模塊下將會整合mybatis,后續補充

    (2) pom.xml引入依賴

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

    (3)添加application.yml配置文件

    4)編寫啟動類

    在demo_base/src/mainjava下新建一個包  base,包下新建BaseApplication類,通過注解@EnableEurekaClient 表明自己是一個eurekaclient

    運行Eureka然后運行BaseApplication類,觀察之前的Eureka界面:

    可以看到,demo-base已經成功注冊到Eureka上了。(因為我們已經關掉了他的保護機制,所以如果你現在停掉demo-base,那么過了一定時間,一般為3個心跳周期也就是90秒左右,Eureka就會將該服務移除掉)

    下一篇:微服務注冊到Eureka后,服務間的調用(ribbon+restTemplate模式與feign模式

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

    智能推薦

    springcloud(微服務)學習之---eureka入門

    這里寫自定義目錄標題 微服務概括 springCloud概括 微服務概括 springcloud服務治理組件eureka eureka治理組件的應用 eureka-client的編寫 微服務概括 微服務就是系統架構上的一種設計風格,它的主旨是將一個原本獨立的系統拆分成多個小型的微服務,這些小型的微服務都在各自獨立的進程中運行,服務之間通過基本的通信協議進行寫作溝通,由于通信時基于通用協議,所以這些...

    springCloud入門學習(四):Eureka元數據

    Eureka元數據有兩種,分別是標準元數據和自定元數據。 標準元數據:主機名、IP、端口號、狀態也及健康檢查等信息。這些信息會被發布在服務注冊表中,用于服務之間的調用。 自定義元數據:用戶自行定義的元素,遠程客戶端可訪問并且可以根據這些元素進行一定的處理。 遠程客戶端獲取元數據:movie服務獲取user服務的元數據。 1、用戶微服務修改: 2、電影服務修改: discoveryClient.ge...

    SpringCloud學習筆記(二)Eureka服務注冊

    上節學習了Eureka進行服務治理未寫完,這次將服務進行注冊到Eureka中,在上次的架子上繼續前進。   yyc-registry 注冊中心詳見:SpringCloud學習筆記-Eureka服務治理   首先新建一個yyc-test模塊,進行服務提供,使注冊到Eureka的注冊中心, 在pom文件中我們引入yyc父類,并引入web模塊   記得,在父類yy...

    SpringCloud學習筆記(四)Eureka集群

    修改配置 當前status狀態顯示包含主機名,可以通過修改配置文件直接顯示項目名稱,點擊以后可以直接訪問該ip 點擊服務以后轉到錯誤頁面,添加pom 配置文件添加 父工程中添加build 這樣就可以給服務添加一些說明信息。   eureka自我保護 什么是自我保護模式? 默認情況下,如果EurekaServer在一定時間內沒有接收到某個微服務實例的心跳,EurekaServer將會注銷該...

    SpringCloud學習筆記:Eureka注冊中心

    簡介 Eureka是Netflix開源的基于rest的服務治理方案,分為Server端和Client端,Server端為注冊中心,其他微服務通過Client端連接Server端進行服務的注冊和發現。 項目介紹 sc-parent,父模塊 sc-provider,提供者模塊 sc-eureka,注冊中心 sc-consumer-discovery,消費者模塊 搭建父模塊 創建父模塊sc-parent...

    猜你喜歡

    SpringCloud學習筆記——服務注冊中心——Eureka

    SpringCloud學習筆記——服務注冊中心——Eureka 參考:尚硅谷2020最新版SpringCloud(H版&alibaba)——周陽 1. Eureka 單機版 創建子模塊,子模塊名稱 cloud-eureka-server7001 pom依賴 創建application.yml 創建主啟動類EurekaM...

    Springcloud整合Eureka,學習筆記整理

    版本信息: springboot 2.2.2.RELEASE;springcloud Hoxton.SR1 目錄結構如下: 首先配置聚合工程,父模塊的pom如下: 一、配置Eureka服務端 pom文件: yml文件: 主啟動類: 二、配置Eureka客戶端 pom文件: yml文件: 主啟動類: 加上controller的業務邏輯,獲取端口號 類似的,再配置兩個客戶端,三臺客戶端也就是三個提供者...

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

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

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

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

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

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

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