Spring Cloud之注冊(cè)中心Nacos的使用詳解
Naacos
Nacos是Spring Cloud Alibaba的組件, Spring Cloud Alibaba遵循Spring Cloud中定義的服務(wù)注冊(cè), 服務(wù)發(fā)現(xiàn)規(guī)范. 因此使?Nacos和使?Eureka對(duì)于微服務(wù)來說,并沒有太?區(qū)別.
主要差異在于:
• Eureka需要??搭建?個(gè)服務(wù), Nacos不???搭建服務(wù), 組件已經(jīng)準(zhǔn)備好了, 只需啟動(dòng)即可.
• 對(duì)應(yīng)依賴和配置不同
服務(wù)注冊(cè)/服務(wù)發(fā)現(xiàn)
Nacos的服務(wù)注冊(cè)和服務(wù)發(fā)現(xiàn)代碼?樣。
引?Spring Cloud Alibaba依賴
在??程的pom?件中的 <dependencyManagement> 中引?Spring Cloud Alibaba的依賴:
<properties> <spring-cloud-alibaba.version>2022.0.0.0-RC2</spring-cloud-alibaba.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>${spring-cloud-alibaba.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencyManagement>
注意: Spring Boot 和Spring Cloud的版本是有?定對(duì)應(yīng)關(guān)系的. Spring Cloud Alibaba也遵循
Spring Cloud 的標(biāo)準(zhǔn), 在引?依賴時(shí), ?定要確認(rèn)各個(gè)版本的對(duì)應(yīng)關(guān)系.
Spring Cloud Alibaba 和Spring Cloud版本對(duì)應(yīng)關(guān)系, 參考官??檔:-》鏈接
版本在?定范圍內(nèi)可以?由選擇.
引入Nacos依賴
在order-service和product-service中引?nacos依賴:
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
引入Load Balance依賴
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-loadbalancer</artifactId> </dependency>
配置Nacos地址
配置項(xiàng) | Key | 默認(rèn)值 | 說明 |
服務(wù)端地址 | spring.cloud.nacos.discovery. server-addr | 無 | Nacos Server 啟動(dòng)監(jiān)聽的ip地址和端? |
spring: application: name: product-service cloud: nacos: discovery: server-addr: 47.98.109.138:8848
服務(wù)端調(diào)用
1. 修改IP為項(xiàng)?名
package order.service; import order.mapper.OrderMapper; import order.model.OrderInfo; import order.model.ProductInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; @Service public class OrderService { @Autowired private OrderMapper orderMapper; @Autowired private RestTemplate restTemplate; public OrderInfo selectOrderById(Integer orderId){ OrderInfo orderInfo = orderMapper.selectOrderById(orderId); String url = "http://product-service/product/"+orderInfo.getProductId(); ProductInfo productInfo = restTemplate.getForObject(url, ProductInfo.class); orderInfo.setProductInfo(productInfo); return orderInfo; } }
2. 為restTemplate添加負(fù)載均衡注解 @LoadBalanced
package order.config; import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate; @Configuration public class BeanConfig { @Bean @LoadBalanced public RestTemplate restTemplate(){ return new RestTemplate(); } }
啟動(dòng)服務(wù)
啟動(dòng)兩個(gè)服務(wù), 觀察Nacos的管理界?, 發(fā)現(xiàn)order-service 和product-service 都注冊(cè)在Nacos上了。
測(cè)試負(fù)載均衡
多次訪問“http://127.0.0.1:8080/order/1”,可以看到,每個(gè)服務(wù)實(shí)例接受的請(qǐng)求數(shù)量都差不多:
到此這篇關(guān)于Spring Cloud之注冊(cè)中心之Nacos的使用的文章就介紹到這了,更多相關(guān)Spring Cloud注冊(cè)中心Nacos內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Spring?Cloud?Eureka服務(wù)注冊(cè)中心入門流程分析
- SpringBoot項(xiàng)目改為SpringCloud項(xiàng)目使用nacos作為注冊(cè)中心的方法
- Java之SpringCloud nocos注冊(cè)中心講解
- SpringCloud使用Zookeeper作為注冊(cè)中心
- 5分鐘搭建SpringCloud Eureka服務(wù)注冊(cè)中心的實(shí)現(xiàn)
- 詳解SpringCloud使用Consul做注冊(cè)中心
- SpringCloud服務(wù)實(shí)現(xiàn)同時(shí)使用eureka和nacos方法
- SpringCloud使用Nacos保存和讀取變量的配置方法
- 解決nacos升級(jí)spring cloud 2020.0無法使用bootstrap.yml的問題
- SpringCloud集成Nacos的使用小結(jié)
相關(guān)文章
詳解jdbc實(shí)現(xiàn)對(duì)CLOB和BLOB數(shù)據(jù)類型的操作
這篇文章主要介紹了詳解jdbc實(shí)現(xiàn)對(duì)CLOB和BLOB數(shù)據(jù)類型的操作的相關(guān)資料,這里實(shí)現(xiàn)寫入操作與讀寫操作,需要的朋友可以參考下2017-08-08Java經(jīng)緯度小數(shù)與度分秒相互轉(zhuǎn)換工具類示例詳解
這篇文章主要介紹了Java經(jīng)緯度小數(shù)與度分秒相互轉(zhuǎn)換工具類,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07在Spring Boot中實(shí)現(xiàn)多環(huán)境配置的方法
在SpringBoot中,實(shí)現(xiàn)多環(huán)境配置是一項(xiàng)重要且常用的功能,它允許開發(fā)者為不同的運(yùn)行環(huán)境,這種方式簡(jiǎn)化了環(huán)境切換的復(fù)雜度,提高了項(xiàng)目的可維護(hù)性和靈活性,本文給大家介紹在Spring Boot中實(shí)現(xiàn)多環(huán)境配置的方法,感興趣的朋友跟隨小編一起看看吧2024-09-09Array?Index?Out?of?Bounds:數(shù)組越界錯(cuò)誤解決方案及調(diào)試技巧
數(shù)組越界訪問是指訪問數(shù)組中超出其有效索引范圍的元素,這是一種常見的編程錯(cuò)誤,可能導(dǎo)致程序崩潰或數(shù)據(jù)損壞,下面這篇文章主要給大家介紹了關(guān)于Array?Index?Out?of?Bounds:數(shù)組越界錯(cuò)誤解決方案及調(diào)試技巧的相關(guān)資料,需要的朋友可以參考下2024-08-08Spring Scheduling本地任務(wù)調(diào)度設(shè)計(jì)與實(shí)現(xiàn)方式
這篇文章主要介紹了Spring Scheduling本地任務(wù)調(diào)度設(shè)計(jì)與實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04