騰訊微服務(wù)平臺TSF
騰訊微服務(wù)平臺 (Tencent Service Framework,TSF) 是一個(gè)圍繞著 應(yīng)用 和微服務(wù)的 PaaS 平臺饼疙,提供應(yīng)用全生命周期管理、數(shù)據(jù)化運(yùn)營挺物、立體化監(jiān)控和服務(wù)治理等功能豪椿。TSF 擁抱 Spring Cloud 、Service Mesh 微服務(wù)框架叨恨,幫助企業(yè)客戶解決傳統(tǒng)集中式架構(gòu)轉(zhuǎn)型的困難柳刮,打造大規(guī)模高可用的分布式系統(tǒng)架構(gòu),實(shí)現(xiàn)業(yè)務(wù)、產(chǎn)品的快速落地秉颗。
TSF服務(wù)注冊與發(fā)現(xiàn)
TSF是整個(gè)微服務(wù)平臺痢毒,而在本文只測試服務(wù)注冊與發(fā)現(xiàn)的功能
本地開發(fā)用服務(wù)中心
1 下載地址
https://www.consul.io/downloads.html?
Consul?是 HashiCorp 公司推出的開源工具,用于實(shí)現(xiàn)分布式系統(tǒng)的服務(wù)發(fā)現(xiàn)與配置
按TSF文檔要求蚕甥,本地開發(fā)時(shí)使用Consul作為服務(wù)中心
2 啟動(dòng)
下載后使用下面命令啟動(dòng)服務(wù)中心(windows環(huán)境)
.\consul.exe agent -dev
3 測試
http://127.0.0.1:8500 通過該地址進(jìn)入服務(wù)注冊中心頁面
修改Maven倉庫setting哪替,以引入TSF所需依賴
https://cloud.tencent.com/document/product/649/20231? ?-> 相關(guān)網(wǎng)頁
https://main.qcloudimg.com/raw/0e3c73b64c4ec64ae9b16d1a347db462/settings.xml -> 直接下載
生產(chǎn)者模塊
1 先建立一個(gè)父項(xiàng)目作為本次測試的總目錄
2 建立provider模塊
3 修改父項(xiàng)目pom
parent使用spring-cloud-tsf-dependencies
4 修改子項(xiàng)目pom
添加spring-cloud-tsf-starter 依賴
5 修改application.yml
設(shè)置端口 和 服務(wù)名稱
需要注意的是,這里無需設(shè)置注冊中心地址菇怀,TSF會(huì)自動(dòng)尋址
6 啟動(dòng)類增加@EnableTsf注釋
7 增加controller
8 測試
啟動(dòng)正常
在服務(wù)中心可見到該服務(wù)已經(jīng)注冊
http://localhost:8001/getUser?訪問
消費(fèi)者模塊
1 建立consumer模塊
2 修改pom
添加spring-cloud-tsf-starter 依賴
3 修改application.yml
設(shè)置端口 和 服務(wù)名稱
4 啟動(dòng)類
@EnableFeignClients // 使用Feign微服務(wù)調(diào)用時(shí)請啟用
@EnableTsf
5 增加proxy(Service Interface)
使用Feign注釋調(diào)用provider
6 controller
調(diào)用proxy
7 測試
啟動(dòng)正常
在服務(wù)中心可見到該服務(wù)已經(jīng)注冊
http://localhost:8002/getUser?訪問得到正常返回凭舶,調(diào)用成功
生產(chǎn)者多實(shí)例
1 IDEA進(jìn)入啟動(dòng)項(xiàng)配置,選擇providerApplication,勾選Allow parallel run
2 運(yùn)行provider后敏释,修改端口和返回內(nèi)容再次運(yùn)行
3 可以在服務(wù)中心頁面見到provider是2 Instances,即兩個(gè)實(shí)例在運(yùn)行
4 多次執(zhí)行http://localhost:8002/getUser?库快,可以見到兩個(gè)provider的返回輪流出現(xiàn)