Spring Cloud 零基礎(chǔ)實(shí)戰(zhàn)(三):注冊中心 Eureka 的搭建

1、開發(fā) Eureka Server

1.1琼娘、創(chuàng)建項(xiàng)目

1)通過歡迎界面的入口創(chuàng)建項(xiàng)目

通過歡迎界面的入口創(chuàng)建項(xiàng)目

2)通過 IDEA 的主菜單創(chuàng)建項(xiàng)目
File -> New -> Project
通過 IDEA 的主菜單創(chuàng)建項(xiàng)目

選擇 Spring Initializr 模式創(chuàng)建項(xiàng)目

填寫項(xiàng)目信息

通過依賴引入 Eureka Server 組件

如果引用的依賴包本地倉庫沒有峭弟,就會從遠(yuǎn)程倉庫下載,所以在建立項(xiàng)目時脱拼,確保網(wǎng)絡(luò)通暢瞒瘸。

1.2、修改代碼及配置文件

項(xiàng)目創(chuàng)建完成后熄浓,源碼結(jié)構(gòu)如下圖所示:

eureka 項(xiàng)目 src 源碼構(gòu)成

下面進(jìn)行文件修改
1)修改 EurekaApplication 文件
其實(shí)修改很少情臭,只是增加@EnableEurekaServer 注解而已
增加@EnableEurekaServer 注解

注意:系統(tǒng)會自動提示導(dǎo)入包,如果不提示那么需要手動導(dǎo)入“import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
”赌蔑,不然系統(tǒng)會報錯依賴問題俯在。
當(dāng)出現(xiàn)依賴錯誤時,添加上圖的import

2)刪除 application.properties娃惯,新建 application.yml 文件
內(nèi)容如下跷乐,主要是配置了 服務(wù)名稱,服務(wù)端口趾浅,eureka 的注冊服務(wù) URL愕提。

spring:
  application:
    name: eureka

server:
  port: 8000

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8000/eureka/
配置文件 application.yml 的內(nèi)容

1.3、運(yùn)行

右擊 EurekaApplication -> Run 'EurekaApplication ' 即可啟動

鼠標(biāo)右擊 EurekaApplication

運(yùn)行 EurekaApplication 程序

在瀏覽器中輸入 http://localhost:8000 即可進(jìn)入 Eureka 控制臺皿哨,我們可以看到服務(wù)的基本信息浅侨,以及可以看到已經(jīng)注冊的服務(wù)。Eureka Server 已經(jīng)把它自己也注冊到當(dāng)前的注冊中心了证膨。
Eureka 控制臺

如果不想讓 eureka server 注冊到自己的注冊中心如输,只需要在配置文件 application.yml 中加上 register-with-eureka: false 即可。

spring:
  application:
    name: eureka

server:
  port: 8000

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8000/eureka/
    register-with-eureka: false
通過配置,避免 Eureka Server 本身注冊到注冊中心

注意:yml的縮進(jìn)是比較嚴(yán)格的挨决,請核對,下圖箭頭所指的兩行的縮進(jìn)需要對齊订歪,否者可能會引起配置不生效脖祈。


注意 yml 文件的格式

重新編譯后,Eureka Server 就沒有注冊到注冊中心了


Eureka Server 沒有注冊到注冊中心

至此刷晋,Eureka Server 就完成了盖高。夠簡單的吧?

1.4眼虱、用 IDEA 自帶的 Maven 給 Eureka 打包

1.4.1喻奥、配置

Run -> Edit Configuration


程序運(yùn)行配置

點(diǎn)擊“+”號,選擇 Maven


配置 Maven 工程

輸入一個名字捏悬,如:MyEurekaServer撞蚕,命令行填入:clean package,點(diǎn)擊OK过牙,完成配置甥厦!

1.4.2、顯示 Maven 工程界面

主菜單:View -> Tool Windows Maven Projects


顯示 Maven 工程界面

包編譯模式運(yùn)行

成功生成 Jar 包

1.4.3寇钉、運(yùn)行 jar 包

實(shí)例中生產(chǎn)的 jar 包文件為:C:\MyIdeaProjects\eureka\target\eureka-0.0.1-SNAPSHOT.jar
Windows鍵+R 運(yùn)行:cmd
在windows命令行里輸入:java -jar C:\MyIdeaProjects\eureka\target\eureka-0.0.1-SNAPSHOT.jar刀疙,該窗口會保持運(yùn)行,直到終止退出為止扫倡。
使用瀏覽器訪問 http://127.0.0.1:8000谦秧,能正常進(jìn)入 Eureka Server 控制臺。說明 jar 導(dǎo)出撵溃、運(yùn)行正常疚鲤!

2、開發(fā) Eureka Client

2.1征懈、創(chuàng)建項(xiàng)目

步驟和創(chuàng)建 Eureka Server 項(xiàng)目類似石咬,新建 Spring Initializr,填寫項(xiàng)目信息


填寫項(xiàng)目信息

選擇Eureka Discovery依賴卖哎,client用

選擇 Web 依賴

后面一直Next鬼悠、Finish

2.2、修改代碼及配置文件

1)修改 EurekaApplication 文件
增加 @EnableDiscoveryClient 注解
2)刪除 application.properties亏娜,新建 application.yml 文件

spring:
  application:
    name: eureka-client

server:
  port: 18000

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8000/eureka/

2.3焕窝、運(yùn)行

右擊 EurekaClientApplication -> Run 'EurekaClientApplication ' 即可啟動
在瀏覽器中輸入 http://localhost:8000 即可進(jìn)入 Eureka 控制臺

Eureka Client 成功在 Eureka Server 注冊

2.4、打包

參看:1.4维贺、用 IDEA 自帶的 Maven 給 Eureka 打包

3它掂、注冊到 Eureka 服務(wù)器的微服務(wù)之間的調(diào)用

Eureka 服務(wù)器存在的目的就是可以讓注冊到 Eureka 的微服務(wù)之間可以方便地調(diào)用,同時采用 ribbon 可以實(shí)現(xiàn)微服務(wù)集群模式下的負(fù)載均衡。建立兩個微服務(wù)虐秋,一個是服務(wù)提供者(Provider)榕茧,一個是服務(wù)消費(fèi)者(Consumer ),Consumer 調(diào)用 Provider 的服務(wù)客给。

3.1用押、服務(wù)提供者(Provider)的開發(fā)

1)新建工程
點(diǎn)擊菜單:FIle -> New -> Project

新建工程

2)選擇創(chuàng)建的項(xiàng)目類型
選擇建立 Spring Initializr 項(xiàng)目,下一步
填寫項(xiàng)目信息

3)選擇依賴
選擇 Web靶剑、Eureka Discovery蜻拨、Ribbon三個依賴,如下圖
選擇依賴

注:如果 Provider 僅僅是提供服務(wù)桩引,并不會調(diào)用其他服務(wù)的話缎讼,那么 Ribbon 依賴可以不加,但考慮到微服務(wù)一般都會調(diào)用其它服務(wù)坑匠,為了一致性血崭,所有的微服務(wù)都加上了 Ribbon 依賴。
4)修改配置文件
將 application.properties 文件改名為 application.yml 厘灼,
application.properties 改名

application.yml 文件內(nèi)容為:

spring:
  application:
    name: provider

server:
  port: 8010

eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:8000/eureka/

5)功氨、創(chuàng)建和編寫 ProviderController 控制器
在包 com.tanbushi.provider 里新建控制器類:ProviderController

創(chuàng)建控制器類

編輯類文件
類文件最簡三步式:ABC

6)、測試運(yùn)行
運(yùn)行后手幢,檢測是否正常
A捷凄、查看 Eureka 控制臺
瀏覽器訪問 http://127.0.0.1:8000/,可以看到微服務(wù) Provider 成功注冊围来!
B跺涤、測試微服務(wù) Provider
瀏覽器訪問 http://127.0.0.1:8010/get_name
測試微服務(wù) Provider

返回正常!

3.2监透、服務(wù)消費(fèi)者(Consumer)的開發(fā)

1)桶错、創(chuàng)建 consumer 項(xiàng)目

創(chuàng)建消費(fèi)者 consumer

依賴選擇和 provider 相同,也是三個
選擇依賴

2)修改配置文件 application.yml

spring:
  application:
    name: consumer

server:
  port: 8020

eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:8000/eureka/

3)胀蛮、修改 Consumer 默認(rèn)的Application 函數(shù)

修改 ConsumerApplication 函數(shù)三步式 ABC

4)院刁、編寫 ConsumerController 代碼
編寫 ConsumerController 控制器代碼

從上圖可以看到,此處比 ProviderController 控制器多了兩處粪狼,第一個是 RestTemplate 的注入(@Autowired)退腥,第二處是增加了一句Consumer 代用 Provider 的演示代碼。
5)再榄、測試運(yùn)行
運(yùn)行后狡刘,檢測是否正常
A、查看 Eureka 控制臺
瀏覽器訪問 http://127.0.0.1:8000/困鸥,可以看到微服務(wù) Consumer 成功注冊嗅蔬!
B、測試微服務(wù) Consumer
瀏覽器訪問 http://127.0.0.1:8010/get_name
測試 Consumer

測試成功!


上一篇:Spring Cloud 零基礎(chǔ)實(shí)戰(zhàn)(二):JDK澜术、IDEA艺蝴、Maven的安裝和配置
下一篇:Spring Cloud 零基礎(chǔ)實(shí)戰(zhàn)(四):最簡單的多模塊應(yīng)用框架搭建
所屬文集:Spring Cloud 零基礎(chǔ)實(shí)戰(zhàn)


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市鸟废,隨后出現(xiàn)的幾起案子吴趴,更是在濱河造成了極大的恐慌,老刑警劉巖侮攀,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異厢拭,居然都是意外死亡兰英,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門供鸠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來畦贸,“玉大人,你說我怎么就攤上這事楞捂”』担” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵寨闹,是天一觀的道長胶坠。 經(jīng)常有香客問我,道長繁堡,這世上最難降的妖魔是什么沈善? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮椭蹄,結(jié)果婚禮上闻牡,老公的妹妹穿的比我還像新娘。我一直安慰自己绳矩,他們只是感情好罩润,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著翼馆,像睡著了一般割以。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上应媚,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天拳球,我揣著相機(jī)與錄音,去河邊找鬼珍特。 笑死祝峻,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播莱找,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼酬姆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了奥溺?” 一聲冷哼從身側(cè)響起辞色,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎浮定,沒想到半個月后相满,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡桦卒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年立美,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片方灾。...
    茶點(diǎn)故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡建蹄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出裕偿,到底是詐尸還是另有隱情洞慎,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布嘿棘,位于F島的核電站劲腿,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏鸟妙。R本人自食惡果不足惜谆棱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望圆仔。 院中可真熱鬧垃瞧,春花似錦、人聲如沸坪郭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽歪沃。三九已至嗦锐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間沪曙,已是汗流浹背奕污。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留液走,地道東北人碳默。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓贾陷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親嘱根。 傳聞我的和親對象是個殘疾皇子髓废,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容