真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SpringCloud中怎么搭建Eureka服務(wù)注冊(cè)中心

本篇文章為大家展示了SpringCloud中怎么搭建Eureka服務(wù)注冊(cè)中心,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到上高網(wǎng)站設(shè)計(jì)與上高網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋上高地區(qū)。

一:Eureka簡(jiǎn)介

Eureka和Consul、Zookeeper等類似,是一個(gè)用戶服務(wù)發(fā)現(xiàn)和服務(wù)注冊(cè)的組件,最開始主要用于亞馬遜旗下的云計(jì)算服務(wù)平臺(tái)AWS。Eureka分為EurekaServer(服務(wù)注冊(cè)中心)和EurekaClient(客戶端)。

Eureka優(yōu)點(diǎn)
  • 1:完全開源,且經(jīng)過(guò)三年時(shí)間迭代,性能和功能都非常穩(wěn)定。

  • 2:是SpringCloud官方推薦的注冊(cè)中心,能夠和SpringCloud其他組件完美對(duì)接。

  • 3:Eureka能夠和Ribbon、Hystrix、Zuul等其他組件相互配合,快速完成服務(wù)注冊(cè)中心,和這些組件并稱Netfilx OOS組件,由SpringCloud整合,是SpringCloud的核心服務(wù)組件,也是基礎(chǔ)組件。

二:搭建第一個(gè)服務(wù)注冊(cè)中心

Talking is boolshit, just look at the code!

  • 父項(xiàng)目pom.xml

com.calvin.cloud
cloud_day01
pom
1.0-SNAPSHOT

    eureka-server
    eureka-client


    org.springframework.boot
    spring-boot-starter-parent
    1.5.3.RELEASE



    UTF-8
    UTF-8
    1.8



    
        
            org.springframework.cloud
            spring-cloud-dependencies
            Dalston.SR4
            pom
            import
        
    

使用SpringInitializr創(chuàng)建兩個(gè)子Module,分別是eureka-server和eureka-client

SpringCloud中怎么搭建Eureka服務(wù)注冊(cè)中心

  • eureka-server/pom.xml


    cloud_day01
    com.calvin.cloud
    1.0-SNAPSHOT

4.0.0

eureka-server


    
    
        org.springframework.cloud
        spring-cloud-starter-eureka-server
    

    
        org.springframework.boot
        spring-boot-starter-test
        test
    



    
        
            org.springframework.boot
            spring-boot-maven-plugin
        
    
  • eureka-server/EurekaServerApplication.java

/**
 * EurekaServer啟動(dòng)類
 * @author Calvin
 * @date 2019/07/29
 */

@SpringBootApplication
@EnableEurekaServer
public class ServerApplication {
    
    public static void main(String[] args) {
        SpringApplication.run(ServerApplication.class);
    }
    
}
  • eureka-server/application.yml

server:
  port: 8080
eureka:
  instance:
    hostname: localhost
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone:
        http://${eureka.instance.hostname}:${server.port}/eureka

啟動(dòng)EurekaServerApplication.main(),瀏覽器訪問(wèn) http://localhost:8080/eureka 此時(shí)顯示并沒有可用服務(wù)注冊(cè)進(jìn)來(lái)
No instances available
SpringCloud中怎么搭建Eureka服務(wù)注冊(cè)中心

再來(lái)寫一個(gè)EurekaClient
  • eureka-client/pom.xml


        cloud_day01
        com.calvin.cloud
        1.0-SNAPSHOT
    
    4.0.0

    eureka-client

    
        
        
            org.springframework.cloud
            spring-cloud-starter-eureka
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org.springframework.boot
            spring-boot-starter-web
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    
  • eureka-client/application.yml

server:
  port: 8081
spring:
  application:
    name: my_eureka_client
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8080/eureka/
  • eureka-client/ClientApplication.java

/**
 * Client測(cè)試啟動(dòng)類
 * @author Calvin
 * @date 2019/09/29
 */
@SpringBootApplication
@EnableEurekaClient
public class ClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(ClientApplication.class);
    }

}

刷新http://localhost:8080/eureka 發(fā)現(xiàn)服務(wù)已經(jīng)注冊(cè)成功了 SpringCloud中怎么搭建Eureka服務(wù)注冊(cè)中心

三:Eureka核心探索

微服務(wù)中的概念
  • 1:Register———服務(wù)注冊(cè)
    服務(wù)注冊(cè)即是EurekaClient祥EurekaServer提交注冊(cè)自己的服務(wù)信息,包括IP地址、端口,ServiceID等信息。如果EurekaClient中沒有ServiceId,則默認(rèn)以配置文件中的#{spring.application.name}為服務(wù)名。

  • 2:Renew———服務(wù)續(xù)約
    EurekaClient默認(rèn)每隔30s發(fā)送一次心跳來(lái)進(jìn)行服務(wù)續(xù)約。通過(guò)服務(wù)續(xù)約來(lái)告知EurekaServer該EurekaClient依然可用,沒有出現(xiàn)故障。如果EurekaServer在90s之內(nèi)沒有收到心跳,則EurekaServer會(huì)認(rèn)為該服務(wù)已經(jīng)掛掉,則會(huì)將該EurekaClient實(shí)力從注冊(cè)列表中剔除掉。

  • 3:FetchRegistries———獲取服務(wù)注冊(cè)列表信息
    EurekaClient從EurekaServer中獲取服務(wù)注冊(cè)表信息,并將其緩存在本地。EurekaClient會(huì)使用服務(wù)注冊(cè)列表中的信息查找其他服務(wù)的信息,從而進(jìn)行遠(yuǎn)程調(diào)用。
    該注冊(cè)列表信息會(huì)定時(shí)30s從服務(wù)端更新一次,每次返回的注冊(cè)列表信息可能與EurekaClient緩存的信息不匹配,EurekaClient會(huì)自己處理這些信息。如果由于某種原因?qū)е伦?cè)列表信息不能及時(shí)匹配,則EurekaClient會(huì)重新更新這些信息。
    EurekaServer緩存了所有的服務(wù)注冊(cè)列表信息,并將整個(gè)服務(wù)列表以及每隔應(yīng)用程序進(jìn)行了壓縮,壓縮內(nèi)容和沒有壓縮的內(nèi)容完全相同。EurekaClient和EurekaServer可以是用JSON和XML數(shù)據(jù)格式相互通信。在默認(rèn)的情況下,EurekaClient使用JSON格式的方式獲取服務(wù)注冊(cè)列表信息。

  • 4:Cancel———服務(wù)下線
    EurekaClient在程序關(guān)閉時(shí)可以向EurekaServer發(fā)送下線請(qǐng)求,發(fā)送請(qǐng)求后,該客戶端的實(shí)例信息將從EurekaServer的服務(wù)信息列表中刪除。該下線請(qǐng)求不會(huì)自動(dòng)完成,需要在程序關(guān)閉時(shí)調(diào)用以下代碼 DiscoverManager.getInstance().shutdownComponent();

  • 5:Evication———服務(wù)剔除
    在默認(rèn)情況下,當(dāng)EurekaClient連續(xù)90s沒有像EurekaServer發(fā)送心跳,EurekaServer則會(huì)認(rèn)為該服務(wù)已經(jīng)不可用,將該服務(wù)實(shí)例從服務(wù)列表信息中刪除。

高可用服務(wù)注冊(cè)中心

SpringCloud中怎么搭建Eureka服務(wù)注冊(cè)中心
上面的架構(gòu)描述了Eureka在Netflix上的部署方式,也是正常Eureka正常的部署和運(yùn)行方式。每個(gè)區(qū)域都有一個(gè)Eureka集群,且每個(gè)區(qū)域至少有一個(gè)Eureka服務(wù)器來(lái)處理區(qū)域故障。

服務(wù)在EurekaServer注冊(cè),然后發(fā)送心跳以每30秒更新其租約。如果客戶端無(wú)法保持心跳,EurekaServer將在90秒后從出服務(wù)器注冊(cè)列表中剔除此服務(wù)實(shí)例。注冊(cè)信息和續(xù)約信息將復(fù)制到集群中的所有EurekaServer節(jié)點(diǎn)。來(lái)自任何區(qū)域EurekaClient都可以每隔30s獲取到所有注冊(cè)列表信息,并進(jìn)行遠(yuǎn)程調(diào)用。 以上資料來(lái)自于官網(wǎng):https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance

四:小結(jié)

  1. 簡(jiǎn)單介紹Eureka以及優(yōu)缺點(diǎn)

  2. 編寫第一個(gè)Eureka注冊(cè)中心

  3. 了解Eureka中的概念和高可用注冊(cè)中心的架構(gòu)

五:?jiǎn)栴}總結(jié)

  1. 內(nèi)容相對(duì)簡(jiǎn)單,沒有對(duì)概念進(jìn)行深入剖析

  2. 代碼中沒有進(jìn)行集群搭建,也沒有測(cè)試服務(wù)提供者和消費(fèi)者

  3. 后續(xù)應(yīng)該加上源碼解析

上述內(nèi)容就是SpringCloud中怎么搭建Eureka服務(wù)注冊(cè)中心,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)站標(biāo)題:SpringCloud中怎么搭建Eureka服務(wù)注冊(cè)中心
轉(zhuǎn)載來(lái)源:http://weahome.cn/article/pchoso.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部