99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

SpringCloud中怎么搭建Eureka服務注冊中心

本篇文章為大家展示了SpringCloud中怎么搭建Eureka服務注冊中心,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

站在用戶的角度思考問題,與客戶深入溝通,找到上高網站設計與上高網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都網站建設、網站設計、企業官網、英文網站、手機端網站、網站推廣、申請域名、網絡空間、企業郵箱。業務覆蓋上高地區。

一:Eureka簡介

Eureka和Consul、Zookeeper等類似,是一個用戶服務發現和服務注冊的組件,最開始主要用于亞馬遜旗下的云計算服務平臺AWS。Eureka分為EurekaServer(服務注冊中心)和EurekaClient(客戶端)。

Eureka優點
  • 1:完全開源,且經過三年時間迭代,性能和功能都非常穩定。

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

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

二:搭建第一個服務注冊中心

Talking is boolshit, just look at the code!

  • 父項目pom.xml

<groupId>com.calvin.cloud</groupId>
<artifactId>cloud_day01</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
    <module>eureka-server</module>
    <module>eureka-client</module>
</modules>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.3.RELEASE</version>
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Dalston.SR4</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

使用SpringInitializr創建兩個子Module,分別是eureka-server和eureka-client

SpringCloud中怎么搭建Eureka服務注冊中心

  • eureka-server/pom.xml

<parent>
    <artifactId>cloud_day01</artifactId>
    <groupId>com.calvin.cloud</groupId>
    <version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>eureka-server</artifactId>

<dependencies>
    <!-- springcloud的版本如果有問題,這個包引入就會有問題 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka-server</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
  • eureka-server/EurekaServerApplication.java

/**
 * EurekaServer啟動類
 * @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

啟動EurekaServerApplication.main(),瀏覽器訪問 http://localhost:8080/eureka 此時顯示并沒有可用服務注冊進來
No instances available
SpringCloud中怎么搭建Eureka服務注冊中心

再來寫一個EurekaClient
  • eureka-client/pom.xml

<parent>
        <artifactId>cloud_day01</artifactId>
        <groupId>com.calvin.cloud</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>eureka-client</artifactId>

    <dependencies>
        <!-- springcloud的版本如果有問題,這個包引入就會有問題 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
  • 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測試啟動類
 * @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 發現服務已經注冊成功了 SpringCloud中怎么搭建Eureka服務注冊中心

三:Eureka核心探索

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

  • 2:Renew———服務續約
    EurekaClient默認每隔30s發送一次心跳來進行服務續約。通過服務續約來告知EurekaServer該EurekaClient依然可用,沒有出現故障。如果EurekaServer在90s之內沒有收到心跳,則EurekaServer會認為該服務已經掛掉,則會將該EurekaClient實力從注冊列表中剔除掉。

  • 3:FetchRegistries———獲取服務注冊列表信息
    EurekaClient從EurekaServer中獲取服務注冊表信息,并將其緩存在本地。EurekaClient會使用服務注冊列表中的信息查找其他服務的信息,從而進行遠程調用。
    該注冊列表信息會定時30s從服務端更新一次,每次返回的注冊列表信息可能與EurekaClient緩存的信息不匹配,EurekaClient會自己處理這些信息。如果由于某種原因導致注冊列表信息不能及時匹配,則EurekaClient會重新更新這些信息。
    EurekaServer緩存了所有的服務注冊列表信息,并將整個服務列表以及每隔應用程序進行了壓縮,壓縮內容和沒有壓縮的內容完全相同。EurekaClient和EurekaServer可以是用JSON和XML數據格式相互通信。在默認的情況下,EurekaClient使用JSON格式的方式獲取服務注冊列表信息。

  • 4:Cancel———服務下線
    EurekaClient在程序關閉時可以向EurekaServer發送下線請求,發送請求后,該客戶端的實例信息將從EurekaServer的服務信息列表中刪除。該下線請求不會自動完成,需要在程序關閉時調用以下代碼 DiscoverManager.getInstance().shutdownComponent();

  • 5:Evication———服務剔除
    在默認情況下,當EurekaClient連續90s沒有像EurekaServer發送心跳,EurekaServer則會認為該服務已經不可用,將該服務實例從服務列表信息中刪除。

高可用服務注冊中心

SpringCloud中怎么搭建Eureka服務注冊中心
上面的架構描述了Eureka在Netflix上的部署方式,也是正常Eureka正常的部署和運行方式。每個區域都有一個Eureka集群,且每個區域至少有一個Eureka服務器來處理區域故障。

服務在EurekaServer注冊,然后發送心跳以每30秒更新其租約。如果客戶端無法保持心跳,EurekaServer將在90秒后從出服務器注冊列表中剔除此服務實例。注冊信息和續約信息將復制到集群中的所有EurekaServer節點。來自任何區域EurekaClient都可以每隔30s獲取到所有注冊列表信息,并進行遠程調用。 以上資料來自于官網:https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance

四:小結

  1. 簡單介紹Eureka以及優缺點

  2. 編寫第一個Eureka注冊中心

  3. 了解Eureka中的概念和高可用注冊中心的架構

五:問題總結

  1. 內容相對簡單,沒有對概念進行深入剖析

  2. 代碼中沒有進行集群搭建,也沒有測試服務提供者和消費者

  3. 后續應該加上源碼解析

上述內容就是SpringCloud中怎么搭建Eureka服務注冊中心,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創新互聯行業資訊頻道。

文章標題:SpringCloud中怎么搭建Eureka服務注冊中心
網站地址:http://www.yijiale78.com/article30/pchoso.html

成都網站建設公司_創新互聯,為您提供網站設計公司關鍵詞優化做網站營銷型網站建設軟件開發網站收錄

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管