Eureka -- 入門案例(3)

父 pom

<packaging>pom</packaging>

<!-- 父工程是 2.1.0.RELEASE 版本的 boot -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.0.RELEASE</version>
</parent>

<dependencyManagement>
    <dependencies>
        <!-- 設(shè)置全局 SpringCloud 依賴版本為 F.RELEASE -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Finchley.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<!-- 設(shè)置全局依賴 SpringBoot蹬铺、Web -->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

建立 Eureka Server 子項目

源碼:https://gitee.com/laiyy0728/spring-cloud/tree/master/spring-cloud-eureka/spring-cloud-eureka-server-simple

父pom中建立 Eureka Server 子項目 module:spring-cloud-eureka-server

pom 依賴

<!-- 父工程 -->
<parent>
    <groupId>com.laiyy.gitee</groupId>
    <artifactId>spring-cloud</artifactId>
    <version>1.0-SNAPSHOT</version>
</parent>

<dependencies>
    <!-- 引入 eureka server 依賴缔恳,注意不能少了 starter -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
</dependencies>

啟動類

@SpringBootApplication
@EnableEurekaServer     // 開啟 Eureka Server 
public class SpringCloudEurekaServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringCloudEurekaServerApplication.class, args);
    }
}

配置文件

spring:
  application:
    name: eureka-server # 服務(wù)名稱
server:
  port: 8761 # 服務(wù)端口

eureka:
  instance:
    hostname: localhost # host name
  client:
    fetch-registry: false # 是否獲取注冊表
    service-url:
      defaultZone: http://localhost:${server.port:8761}/eureka/ # 默認(rèn) Zone
    register-with-eureka: false # 是否注冊自己
  server:
    enable-self-preservation: false # 是否開啟自我保護(hù)策橘,默認(rèn) true蒂誉。在本機(jī)測試可以使用 false,但是在生產(chǎn)環(huán)境下必須為 true

驗證 Eureka Server 啟動結(jié)果

在瀏覽器輸入: http://localhost:8761 膛檀,進(jìn)入 Eureka Server 可視化頁面

image

Eureka Server UI 提示信息

在 Eureka Server 檢測到異常時,會在中間以紅色加粗字體提示信息。

在沒有 Eureka Client 或 Eureka Server 檢測心跳的閾值小于指定閾值舍肠,且關(guān)閉自我保護(hù)時:

RENEWALS ARE LESSER THAN THE THRESHOLD. THE SELF PRESERVATION MODE IS TURNED OFF.THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.
提示說明了:1、eureka client 的心跳發(fā)送次數(shù)小于閾值(沒有client窘面,肯定小于)翠语;2、自我保護(hù)被關(guān)閉了

在有 Eureka Client财边,且關(guān)閉了自我保護(hù)時:

THE SELF PRESERVATION MODE IS TURNED OFF.THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.

在沒有 Eureka Client 或 Eureka Server 檢測心跳的閾值小于指定閾值肌括,且開啟了自我保護(hù)時:

EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.

在有 Eureka Client 且 Eureka Server 檢測心跳的閾值大于指定閾值,且開啟了自我保護(hù)時酣难,Eureka Server 會認(rèn)為整個服務(wù)正常谍夭,不會有任何信息提示。

建立 Eureka Client 項目

源碼:https://gitee.com/laiyy0728/spring-cloud/tree/master/spring-cloud-eureka/spring-cloud-eureka-client-simple

在 在父pom中建立 Eureka Server 子項目 module:spring-cloud-eureka-client-simple憨募,建立一個簡單的 eureka client 工程

pom

<!-- parent 都和 Eureka Server 一致紧索,不再贅述 -->

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

啟動類

// EurekaClient、DiscoveryClient 本質(zhì)上都是注冊到服務(wù)中心的實現(xiàn)菜谣,EurekaClient 只針對 Eureka 使用珠漂,
// DiscoveryClient 針對不同的注冊中心都可以使用∥膊玻可以說 DiscoveryClient 的 EurekaClient 的一個抽象
@SpringBootApplication
@EnableDiscoveryClient //@EnableEurekaClient 
public class SpringCloudEurekaClientSimpleApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringCloudEurekaClientSimpleApplication.class, args);
    }
}

配置文件

spring:
  application:
    name: spring-cloud-eureka-client-simple # 工程名稱甘磨,也是注冊到 server 后的實例名稱

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka      # 指定 Zone,需要與 Eureka Server 一樣
  instance:
    prefer-ip-address: true # 使用 ip 注冊眯停,默認(rèn)為 false济舆。為 false 時是 機(jī)器名
    instance-id: ${spring.application.name}:${server.port} # 注冊到 server 后顯示的名字,默認(rèn)是 機(jī)器名:name:端口

server:
  port: 8081 # 端口

在 Eureka Server 驗證服務(wù)注冊

image

可以看到莺债,eureka client 已經(jīng)注冊成功滋觉。 status 大致有 5 個狀態(tài):UP(正常運行)签夭、DOWN(停機(jī))、STATING(正在啟動)椎侠、OUT_OF_SERVICE(下線)第租、UNKNOWN(為止)


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市我纪,隨后出現(xiàn)的幾起案子慎宾,更是在濱河造成了極大的恐慌,老刑警劉巖浅悉,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件趟据,死亡現(xiàn)場離奇詭異,居然都是意外死亡术健,警方通過查閱死者的電腦和手機(jī)汹碱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荞估,“玉大人咳促,你說我怎么就攤上這事】彼牛” “怎么了跪腹?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長飞醉。 經(jīng)常有香客問我冲茸,道長,這世上最難降的妖魔是什么冒掌? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮蹲盘,結(jié)果婚禮上股毫,老公的妹妹穿的比我還像新娘。我一直安慰自己召衔,他們只是感情好铃诬,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著苍凛,像睡著了一般趣席。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上醇蝴,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天宣肚,我揣著相機(jī)與錄音,去河邊找鬼悠栓。 笑死霉涨,一個胖子當(dāng)著我的面吹牛按价,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播笙瑟,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼楼镐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了往枷?” 一聲冷哼從身側(cè)響起框产,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎错洁,沒想到半個月后秉宿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡墓臭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年蘸鲸,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窿锉。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡酌摇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出嗡载,到底是詐尸還是另有隱情窑多,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布洼滚,位于F島的核電站埂息,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏遥巴。R本人自食惡果不足惜千康,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望铲掐。 院中可真熱鬧拾弃,春花似錦、人聲如沸摆霉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽携栋。三九已至搭盾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間婉支,已是汗流浹背鸯隅。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留向挖,地道東北人滋迈。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓霎奢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親饼灿。 傳聞我的和親對象是個殘疾皇子幕侠,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344