日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

Springcloud--Nacos服務(wù)治理

作者:吃不飽肉的貓 更新時間: 2022-08-30 編程語言

1.服務(wù)治理介紹

1.一旦服務(wù)提供者地址變化,就需要手工修改代碼

2.一旦是多個服務(wù)提供者,無法實(shí)現(xiàn)負(fù)載均衡功能

3.一旦服務(wù)變得越來越多,人工維護(hù)調(diào)用關(guān)系困難

怎么樣來解決這些問題呢,通過注冊中心動態(tài)的實(shí)現(xiàn)服務(wù)治理

2.Nacos的介紹

Nachos的全稱是“Not Another Completely Heuristic Operating System”,它是一個可修改和跟蹤的操作系統(tǒng)教學(xué)軟件。它給出了一個支持多線程和虛擬存儲的操作系統(tǒng)骨架,可讓學(xué)生在較短的時間內(nèi)對操作系統(tǒng)中的基本原理和核心算法有一個全面和完整的了解。Nacos 致力于幫助您發(fā)現(xiàn)、配置和管理微服務(wù)。Nacos 提供了一組簡單易用的特性集,幫助您快速 實(shí)現(xiàn)動態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置、服務(wù)元數(shù)據(jù)及流量管理。 從上面的介紹就可以看出,nacos的作用就是一個注冊中心,用來管理注冊上來的各個微服務(wù)。

3.搭建Nacos環(huán)境

3.1安裝nacos

下載地址: https://github.com/alibaba/nacos/releases

下載zip格式的安裝包,然后進(jìn)行解壓縮操作

3.2啟動nacos

#切換目錄

cd nacos/bin

#命令啟動

startup.cmd -m standalone

3.3訪問nacos

打開瀏覽器輸入http://localhost:8848/nacos,即可訪問服務(wù), 默認(rèn)密碼是nacos/nacos?

4.講商品微服務(wù)注冊到nacos注冊中心

4.1在pom.xml文件中引入nacos的依賴

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

4.2在application.yml添加nacos的配置

#商品微服務(wù)
#指定nacos注冊中心的地址 ip:port
spring.cloud.nacos.discovery.server-addr=localhost:8848
#指定服務(wù)器的名稱springcloud-product是我的服務(wù)器名你需要改成自己的
spring.application.name=springcloud-product

#訂單微服務(wù)
#指定nacos注冊中心的地址 ip:port
spring.cloud.nacos.discovery.server-addr=localhost:8848
#指定是否把該服務(wù)注冊到注冊中心
spring.cloud.nacos.discovery.register-enabled=false
#指定服務(wù)器的名稱
spring.application.name=springcloud-order

4.3查看訂單微服務(wù)和商品微服務(wù)是否注冊到nacos注冊中心

5.在Controller中修改代碼

@Autowired
private DiscoveryClient discoveryClient;

List<ServiceInstance> instances = discoveryClient.getInstances("springcloud-product");
//需要設(shè)置訂單對象中商品的信息
//商品操作都在商品微服務(wù)---訂單微服務(wù)遠(yuǎn)程調(diào)用商品微服務(wù)即可拿到商品信息,遠(yuǎn)程調(diào)用:http協(xié)議的restFul風(fēng)格調(diào)用適合微服務(wù),基于TCP協(xié)議的RPC調(diào)用適合SOA分布式
//一定采用的為http協(xié)議:(1)自己寫代碼完成http調(diào)用【httpclient】微信支付---適合調(diào)用第三方網(wǎng)址。(2) spring提高了一個工具類RestTemplate,該類也是基于http協(xié)議的
ServiceInstance serviceInstance = instances.get(new Random().nextInt(instances.size()));
Product product = restTemplate.getForObject(serviceInstance.getUri()+"/product/findById/" + pid, Product.class);

5.1觀察nacos的控制面板中是否有注冊上來的訂單微服務(wù),然后通過訪問消費(fèi)者服務(wù)驗(yàn)證調(diào)用是否成功

原文鏈接:https://blog.csdn.net/JAVA_SR/article/details/126592144

欄目分類
最近更新