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

學無先后,達者為師

網站首頁 編程語言 正文

Springcloud--Nacos服務治理

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

1.服務治理介紹

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

2.一旦是多個服務提供者,無法實現負載均衡功能

3.一旦服務變得越來越多,人工維護調用關系困難

怎么樣來解決這些問題呢,通過注冊中心動態的實現服務治理

2.Nacos的介紹

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

3.搭建Nacos環境

3.1安裝nacos

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

下載zip格式的安裝包,然后進行解壓縮操作

3.2啟動nacos

#切換目錄

cd nacos/bin

#命令啟動

startup.cmd -m standalone

3.3訪問nacos

打開瀏覽器輸入http://localhost:8848/nacos,即可訪問服務, 默認密碼是nacos/nacos?

4.講商品微服務注冊到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的配置

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

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

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

5.在Controller中修改代碼

@Autowired
private DiscoveryClient discoveryClient;

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

5.1觀察nacos的控制面板中是否有注冊上來的訂單微服務,然后通過訪問消費者服務驗證調用是否成功

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

欄目分類
最近更新