成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Nacos 2.0的Spring Boot Starter來了!

開發 前端
隨著Nacos2.0成熟穩定,Nacos-spring-boot發布0.1.10、0.2.10兩個核心版本,全面支持了Nacos2.0,同時支持自動識別配置類型注入能力,修復了高并發場景下數據一致性問題。

[[413099]]

本文轉載自微信公眾號「程序猿DD」,作者涌月。轉載本文請聯系程序猿DD公眾號。

隨著Nacos2.0成熟穩定,Nacos-spring-boot發布0.1.10、0.2.10兩個核心版本,全面支持了Nacos2.0,同時支持自動識別配置類型注入能力,修復了高并發場景下數據一致性問題。

Nacos-spring-boot老用戶,將相關maven依賴進行如下替換,即可快速升級。

  1. <dependency> 
  2.   <groupId>com.alibaba.boot</groupId> 
  3.    <artifactId>nacos-config-spring-boot-starter</artifactId> 
  4.    <version>0.2.10</version> 
  5. </dependency> 

本文將系統介紹新版本增強能力,并且以一次生產環境的配置管理項目構建過程為例,詳細描述新版本Nacos Spring Boot0.2.10版本的部署,幫助Spring Boot老玩家快速上岸Nacos2.0,感受長連接帶來的10倍性能提升。

Nacos-spring-boot新版本特性

新發布的0.1.10版本和0.2.10版本主要feature增強包括以下幾個部分:

全面兼容Nacos2體系,向長連接時代演進

Nacos1體系中,配置中心的訂閱、實時推送功能主要通過長輪訓進行。盡管長輪訓是HTTP短連接體系中被采用較多的動態刷新解決方案,但也不可避免地存在時延過高等缺陷;在生產實踐中暴露了一定問題,如下面這兩個鏈接所示:

  • https://github.com/alibaba/nacos/issues/6345
  • https://github.com/alibaba/nacos/issues/2674

Nacos2體系將整個配置中心的訂閱、推送功能重構成為了基于gRPC的長連接方案,保證了配置刷新實時推送;迄今為止,已經歷了大量的生產環境考驗。

自動識別配置的文件類型

在使用Nacos-spring-boot新版本之后,即使用戶對配置類型未設置的情況下,nacos-spring-boot也會自動識別該配置的文件類型(json/yaml/properties)并給定默認值。該機制極大降低了因為文件類型不匹配,業務側出現配置處理錯誤的風險。下圖為新版本Nacos-spring-boot項目在一次配置文件刷新過程中的工作機制。

@NacosValue注解全面支持Spel表達式

Spel表達式全稱為“Spring Expression Language”,是Spring自帶的一種動態字符串構建方式表達式)。用戶可以方便地使用Spel表達式來定義NacosValue,與Spring功能完美整合,減少SpringBoot玩家們的工作量。

修復了高并發場景下的一致性問題

阿里云內部同學在使用Nacos-spring-boot項目進行大規模壓測的過程中,出現了一些配置讀取錯誤:在大流量頻繁修改某些dataId的配置的過程中,客戶端可能會拉取到舊版本的配置數據,導致客戶端配置數據反復。Nacos-spring-boot新版本通過增加智能鎖、升級Nacos-spring依賴等方式,對于潛在的線程安全風險進行了修復。

生產演示-客戶端部署

Springboot老玩家可以通過下面方式升級到Nacos-spring-boot新版本。

在 Maven 項目的 pom.xml 文件中增加(或升級)以下依賴來獲取 Starter

  1. <dependency> 
  2.     <groupId>com.alibaba.boot</groupId> 
  3.     <artifactId>nacos-config-spring-boot-starter</artifactId> 
  4.     <version>0.2.10</version> 
  5. </dependency> 

注: 使用時請根據自定義構建的Spring Boot版本選擇相應的nacos-config-spring-boot-starter版本:nacos-config-spring-boot-starter 版本 0.2.10 對應 Spring Boot 2.x 版本,版本 0.1.10 對應 Spring Boot 1.x 版本。

在 application.properties 文件中配置連接信息

  1. nacos.config.server-addr=${nacos_server_address}:8848 

注:${nacos_server_address}為占位符,表示Nacos server的地址,后文將給出如何獲取其詳細地址信息的方案。

使用 @NacosPropertySource 加載 dataId 為 example 的配置源,并開啟自動更新

  1. @SpringBootApplication 
  2. @NacosPropertySource(dataId = "com.alibaba.nacos.example.properties", autoRefreshed = true
  3. public class NacosConfigApplication { 
  4.      public static void main(String[] args) { 
  5.          SpringApplication.run(NacosConfigApplication.class, args); 
  6.      }  

使用 @NacosValue 注解設置屬性值。

  1. @Controller  
  2. @RequestMapping("config")  
  3. public class ConfigController {  
  4.     @NacosValue(value = "${connectTimeoutInMills:5000}", autoRefreshed = true)  
  5.     private int connectTimeoutInMills;   
  6.     @RequestMapping(value = "/get", method = GET)  
  7.     @ResponseBody  
  8.     public int get() {  
  9.         return connectTimeoutInMills; 
  10.     }  

生產演示-服務端部署

Nacos官方為SpringBoot玩家提供了兩種服務端的部署方式:自建開源Nacos和MSE Nacos專業版。

自建開源Nacos

用戶如果選擇開源Nacos,可以進行自主部署、運維、生產環境調優;另外,由于開源Nacos協議為Apache2.0協議,用戶甚至可以進行自定義功能的開發。開源Nacos的安裝步驟可參考https://github.com/alibaba/nacos,支持環境包括Windows、MacBook、Linux等各種平臺,可以方便地進行單機或集群啟動。

MSE Nacos專業版

MSE Nacos則致力于提供高可用的一站式解決方案,相對于基礎版和開源版本進行了大量升級:

  • 自動化升級流程,無需復雜運維部署,即可完成基礎版至專業版的平滑升級。
  • 提供企業級99.95%高可用保障。
  • 支持長鏈接,性能相對于基礎版提升10倍。
  • 更完善的配置加解密體系,無需擔心敏感配置信息丟失風險。
  • 更完善的鑒權體系,全面引入阿里云RAM主子賬號體系權限控制。

使用MSE Nacos專業版作為服務端,詳細步驟可分為如下幾步。

1、首先訪問MSE官網,https://cn.aliyun.com/product/aliware/mse?spm=nacos-website.topbar.0.0.0,登陸。

2、點擊"立即購買"、"創建實例"。

3、選擇“專業版”,并根據需要進行其他相應設置。

并點擊立即購買。

4、等待3分鐘,即可在控制臺看到剛剛創建的Nacos集群。

5、將相應內網或公網地址復制,并填入上文所述${nacos_server_address}中。(如希望使用內網訪問,則可直接復制內網地址;如希望使用公網訪問,則需要點擊進入并將訪問端添加進宮網白名單)。

6、點擊進入相應實例的控制臺,點擊“配置列表”、“創建配置”。

7、創建和客戶端匹配的配置信息,注意下圖中紅框標出的幾個項目(其中數據加密根據需要選擇),最后點擊“發布”。

結果驗證

在本地啟動客戶端項目,并運行以下命令:

  1. curl localhost:8080/config/get 

若返回以下信息,則說明 SDK 可正常使用。

  1. 3000 

在MSE控制臺將示例配置 com.alibaba.nacos.example.properties更改為以下內容并發布。

  1. connectTimeoutInMills=6000 

若Console打印出更新的配置內容 ,則說明SDK的配置自動更新功能正常;工程正式跨入高性能配置中心時代。

原文鏈接:https://mp.weixin.qq.com/s/cEB-PDcvskP4rbf-7W5fyA

 

責任編輯:武曉燕 來源: 程序猿DD
相關推薦

2021-08-31 09:57:36

云原生消息隊列

2019-01-31 13:43:48

Spring BootStarter開發

2020-09-27 11:35:16

Spring BootStarterJava

2023-03-27 08:28:57

spring代碼,starter

2018-06-20 15:33:44

Spring BootJava 9JDK

2018-05-30 15:10:24

Spring BootList類型

2018-06-20 15:42:09

2018-06-06 14:30:38

Spring BootApplication事件

2023-02-26 10:14:51

Spring第三方庫

2023-02-26 00:00:01

Spring數據庫組件

2021-02-03 09:04:11

解密Spring配置

2019-11-12 10:50:13

Spring BootstarterJava

2009-06-19 13:28:30

Spring AOPSpring 2.0

2009-06-18 15:40:07

Spring Batc

2009-06-19 12:53:56

Spring 2.0

2025-04-29 00:04:00

2023-04-03 17:43:47

gRPCOpenFeign微服務

2009-06-18 13:11:38

Spring IDE的

2024-02-04 09:19:00

Nacos動態化線程池

2024-11-08 14:11:09

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产欧美一区二区三区不卡 | 亚洲欧美aⅴ | 香蕉国产在线视频 | 国产免费一区二区 | 亚洲国产成人精品女人久久久 | 黄网站涩免费蜜桃网站 | 日本涩涩网 | 国产亚洲成av人在线观看导航 | 午夜极品 | 国产一级片免费在线观看 | 国精品一区 | 精品国产一区二区三区在线观看 | www.亚洲视频 | 欧美老妇交乱视频 | 国产成人免费一区二区60岁 | 最新国产精品精品视频 | 日韩av黄色 | 日日夜夜精品 | 免费网站国产 | 国产一区二区在线视频 | 免费看片在线播放 | 99国产精品久久久久久久 | 亚洲一区二区三区在线播放 | 成人av一区 | 91精品91久久久 | 日韩成人免费视频 | 欧美在线视频网 | 久久在线看| 国产一区二区久久 | 亚洲在线视频 | 国产视频一区二区 | 可以免费观看的av片 | 综合久久久 | 一区二区精品 | 成人国产免费观看 | 亚洲精品欧美 | 欧美视频在线播放 | 激情欧美一区二区三区 | 国内91在线 | 欧美国产91 | 日韩av啪啪网站大全免费观看 |