Spring Cloud之注冊中心Nacos的使用詳解
Naacos
Nacos是Spring Cloud Alibaba的組件, Spring Cloud Alibaba遵循Spring Cloud中定義的服務(wù)注冊, 服務(wù)發(fā)現(xiàn)規(guī)范. 因此使?Nacos和使?Eureka對于微服務(wù)來說,并沒有太?區(qū)別.
主要差異在于:
• Eureka需要??搭建?個服務(wù), Nacos不???搭建服務(wù), 組件已經(jīng)準(zhǔn)備好了, 只需啟動即可.
• 對應(yīng)依賴和配置不同
服務(wù)注冊/服務(wù)發(fā)現(xiàn)
Nacos的服務(wù)注冊和服務(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的版本是有?定對應(yīng)關(guān)系的. Spring Cloud Alibaba也遵循
Spring Cloud 的標(biāo)準(zhǔn), 在引?依賴時, ?定要確認(rèn)各個版本的對應(yīng)關(guān)系.
Spring Cloud Alibaba 和Spring Cloud版本對應(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地址
| 配置項 | Key | 默認(rèn)值 | 說明 |
| 服務(wù)端地址 | spring.cloud.nacos.discovery. server-addr | 無 | Nacos Server 啟動監(jiān)聽的ip地址和端? |
spring:
application:
name: product-service
cloud:
nacos:
discovery:
server-addr: 47.98.109.138:8848服務(wù)端調(diào)用
1. 修改IP為項?名
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();
}
}啟動服務(wù)
啟動兩個服務(wù), 觀察Nacos的管理界?, 發(fā)現(xiàn)order-service 和product-service 都注冊在Nacos上了。

測試負(fù)載均衡

多次訪問“http://127.0.0.1:8080/order/1”,可以看到,每個服務(wù)實例接受的請求數(shù)量都差不多:



到此這篇關(guān)于Spring Cloud之注冊中心之Nacos的使用的文章就介紹到這了,更多相關(guān)Spring Cloud注冊中心Nacos內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Spring?Cloud?Eureka服務(wù)注冊中心入門流程分析
- SpringBoot項目改為SpringCloud項目使用nacos作為注冊中心的方法
- Java之SpringCloud nocos注冊中心講解
- SpringCloud使用Zookeeper作為注冊中心
- 5分鐘搭建SpringCloud Eureka服務(wù)注冊中心的實現(xiàn)
- 詳解SpringCloud使用Consul做注冊中心
- SpringCloud服務(wù)實現(xiàn)同時使用eureka和nacos方法
- SpringCloud使用Nacos保存和讀取變量的配置方法
- 解決nacos升級spring cloud 2020.0無法使用bootstrap.yml的問題
- SpringCloud集成Nacos的使用小結(jié)
相關(guān)文章
詳解jdbc實現(xiàn)對CLOB和BLOB數(shù)據(jù)類型的操作
這篇文章主要介紹了詳解jdbc實現(xiàn)對CLOB和BLOB數(shù)據(jù)類型的操作的相關(guān)資料,這里實現(xiàn)寫入操作與讀寫操作,需要的朋友可以參考下2017-08-08
Java經(jīng)緯度小數(shù)與度分秒相互轉(zhuǎn)換工具類示例詳解
這篇文章主要介紹了Java經(jīng)緯度小數(shù)與度分秒相互轉(zhuǎn)換工具類,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07
在Spring Boot中實現(xiàn)多環(huán)境配置的方法
在SpringBoot中,實現(xiàn)多環(huán)境配置是一項重要且常用的功能,它允許開發(fā)者為不同的運(yùn)行環(huán)境,這種方式簡化了環(huán)境切換的復(fù)雜度,提高了項目的可維護(hù)性和靈活性,本文給大家介紹在Spring Boot中實現(xiàn)多環(huán)境配置的方法,感興趣的朋友跟隨小編一起看看吧2024-09-09
Array?Index?Out?of?Bounds:數(shù)組越界錯誤解決方案及調(diào)試技巧
數(shù)組越界訪問是指訪問數(shù)組中超出其有效索引范圍的元素,這是一種常見的編程錯誤,可能導(dǎo)致程序崩潰或數(shù)據(jù)損壞,下面這篇文章主要給大家介紹了關(guān)于Array?Index?Out?of?Bounds:數(shù)組越界錯誤解決方案及調(diào)試技巧的相關(guān)資料,需要的朋友可以參考下2024-08-08
Spring Scheduling本地任務(wù)調(diào)度設(shè)計與實現(xiàn)方式
這篇文章主要介紹了Spring Scheduling本地任務(wù)調(diào)度設(shè)計與實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04

