1、開發(fā) Eureka Server
1.1琼娘、創(chuàng)建項(xiàng)目
1)通過歡迎界面的入口創(chuàng)建項(xiàng)目
2)通過 IDEA 的主菜單創(chuàng)建項(xiàng)目
File -> New -> Project
如果引用的依賴包本地倉庫沒有峭弟,就會從遠(yuǎn)程倉庫下載,所以在建立項(xiàng)目時脱拼,確保網(wǎng)絡(luò)通暢瞒瘸。
1.2、修改代碼及配置文件
項(xiàng)目創(chuàng)建完成后熄浓,源碼結(jié)構(gòu)如下圖所示:
下面進(jìn)行文件修改
1)修改 EurekaApplication 文件
其實(shí)修改很少情臭,只是增加@EnableEurekaServer 注解而已
注意:系統(tǒng)會自動提示導(dǎo)入包,如果不提示那么需要手動導(dǎo)入“import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
”赌蔑,不然系統(tǒng)會報錯依賴問題俯在。
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/
1.3、運(yùn)行
右擊 EurekaApplication -> Run 'EurekaApplication ' 即可啟動
在瀏覽器中輸入 http://localhost:8000 即可進(jìn)入 Eureka 控制臺皿哨,我們可以看到服務(wù)的基本信息浅侨,以及可以看到已經(jīng)注冊的服務(wù)。Eureka Server 已經(jīng)把它自己也注冊到當(dāng)前的注冊中心了证膨。
如果不想讓 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
注意:yml的縮進(jìn)是比較嚴(yán)格的挨决,請核對,下圖箭頭所指的兩行的縮進(jìn)需要對齊订歪,否者可能會引起配置不生效脖祈。
重新編譯后,Eureka Server 就沒有注冊到注冊中心了
至此刷晋,Eureka Server 就完成了盖高。夠簡單的吧?
1.4眼虱、用 IDEA 自帶的 Maven 給 Eureka 打包
1.4.1喻奥、配置
Run -> Edit Configuration
點(diǎn)擊“+”號,選擇 Maven
輸入一個名字捏悬,如:MyEurekaServer撞蚕,命令行填入:clean package,點(diǎn)擊OK过牙,完成配置甥厦!
1.4.2、顯示 Maven 工程界面
主菜單:View -> Tool Windows Maven Projects
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)目信息
后面一直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 控制臺
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)目,下一步
3)選擇依賴
選擇 Web靶剑、Eureka Discovery蜻拨、Ribbon三個依賴,如下圖
注:如果 Provider 僅僅是提供服務(wù)桩引,并不會調(diào)用其他服務(wù)的話缎讼,那么 Ribbon 依賴可以不加,但考慮到微服務(wù)一般都會調(diào)用其它服務(wù)坑匠,為了一致性血崭,所有的微服務(wù)都加上了 Ribbon 依賴。
4)修改配置文件
將 application.properties 文件改名為 application.yml 厘灼,
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
編輯類文件
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
返回正常!
3.2监透、服務(wù)消費(fèi)者(Consumer)的開發(fā)
1)桶错、創(chuàng)建 consumer 項(xiàng)目
依賴選擇和 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ù)
4)院刁、編寫 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
測試成功!
上一篇:Spring Cloud 零基礎(chǔ)實(shí)戰(zhàn)(二):JDK澜术、IDEA艺蝴、Maven的安裝和配置
下一篇:Spring Cloud 零基礎(chǔ)實(shí)戰(zhàn)(四):最簡單的多模塊應(yīng)用框架搭建
所屬文集:Spring Cloud 零基礎(chǔ)實(shí)戰(zhàn)