一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 一篇文章帶你了解Java SpringBoot Nacos

一篇文章帶你了解Java SpringBoot Nacos

2021-12-27 00:49JordanPanther Java教程

這篇文章主要介紹了SpringBoot使用Nacos配置中心的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1、什么是Nacos

Nacos 致力于幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。 是Spring Cloud A 中的服務注冊發現組件,類似于Consul、Eureka,同時它又提供了分布式配置中心的功能,這點和Consul的config類似,支持熱加載。

Nacos 作為微服務核心的服務注冊與發現中心,讓大家在 Eureka 和 Consule 之外有了新的選擇,開箱即用,上手簡潔。

1.1與eureka對比

1 eureka 2.0閉源碼了。
2 從官網來看nacos 的注冊的實例數是大于eureka的,
3 因為nacos使用的raft協議,nacos集群的一致性要遠大于eureka集群.

分布式一致性協議Raft,自 2013 年論文發表,之后就受到了技術領域的熱捧,與其他的分布式一致性算法比,Raft 相對比較簡單并且易于實現,這也是 Raft 能異軍突起的主要因素。

一篇文章帶你了解Java SpringBoot Nacos

Raft 的數據一致性策略

Raft 協議強依賴 Leader 節點來確保集群數據一致性。即 client 發送過來的數據均先到達 Leader 節點,Leader 接收到數據后,先將數據標記為 uncommitted 狀態,隨后 Leader 開始向所有 Follower 復制數據并等待響應,在獲得集群中大于 N/2 個 Follower 的已成功接收數據完畢的響應后,Leader 將數據的狀態標記為 committed,隨后向 client 發送數據已接收確認,在向 client 發送出已數據接收后,再向所有 Follower 節點發送通知表明該數據狀態為committed。

1.2與zookeeper對比

1.作為配置中心

服務器存儲位置不同,分別采用mysql和zk本身存儲
消息發送,zk采用過半機制保持一致性,Nacos采用異步廣播,通過后臺線程重試保證。

2.作為注冊中心

Nacos:nacos支持兩種方式的注冊中心,持久化和非持久化存儲服務信息。

非持久直接存儲在nacos服務節點的內存中,并且服務節點間采用去中心化的思想,服務節點采用hash分片存儲注冊信息
持久化使用Raft協議選舉master節點,同樣采用過半機制將數據存儲在leader節點上

Zookeeper:利用zk的樹型結構做數據存儲,服務注冊和消費信息直接存儲在zk樹形節點上,集群下同樣采用過半機制保證服務節點間一致性

1.3與springcloud config 對比

三大優勢:

  • springcloud config大部分場景結合git 使用, 動態變更還需要依賴Spring Cloud Bus 消息總線來通過所有的客戶端變化.
  • springcloud config不提供可視化界面
  • nacos config使用長連接更新配置, 一旦配置有變動后,通知Provider的過程非常的迅速, 從速度上秒殺springcloud原來的config幾條街,

 

2、Spring Cloud Alibaba 套件

目前 Spring Cloud Alibaba 主要有三個組件:

  • Nacos:一個更易于構建云原生應用的動態服務發現、配置管理和服務管理平臺。
  • Sentinel:把流量作為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。
  • AliCloud OSS: 阿里云對象存儲服務(Object Storage Service,簡稱
  • OSS),是阿里云提供的海量、安全、低成本、高可靠的云存儲服務。您可以在任何應用、任何時間、任何地點存儲和訪問任意類型的數據。

 

3、Nacos 的架構和安裝

3.1、Nacos 的架構

一篇文章帶你了解Java SpringBoot Nacos

  • Provider APP:服務提供者
  • Consumer APP:服務消費者
  • Name Server:通過VIP(Virtual IP)或DNS的方式實現Nacos高可用集群的服務路由
  • Nacos Server:Nacos服務提供者,里面包含的Open API是功能訪問入口,Conig Service、Naming Service 是Nacos提供的配置服務、命名服務模塊。Consitency Protocol是一致性協議,用來實現Nacos集群節點的數據同步,這里使用的是Raft算法(Etcd、Redis哨兵選舉)
  • Nacos Console:控制臺

3.2、Nacos Server 的下載和安裝

在使用 Nacos 之前,需要先下載 Nacos 并啟動 Nacos Server。

安裝的參考教程:

http://www.ythuaji.com.cn/article/195538.htm

 

4、Nacos Server 的運行

4.1兩種模式

Nacos Server 有兩種運行模式:

  • standalone
  • cluster

4.2、standalone 模式

此模式一般用于 demo 和測試,不用改任何配置,直接敲以下命令執行

sh bin/startup.sh -m standalone

然后從 http://xxxx:8848/nacos/index.html 進入控制臺就能看到如下界面了

一篇文章帶你了解Java SpringBoot Nacos

默認賬號和密碼為:nacos nacos

4.3、cluster 模式

測試環境,可以先用 standalone 模式擼起來,享受 coding 的快感,但是,生產環境可以使用 cluster 模式。

cluster 模式需要依賴 MySQL,然后改兩個配置文件:

conf/cluster.conf
conf/application.properties

cluster.conf,填入要運行 Nacos Server 機器的 ip

#it is ip
#example
10.10.109.214
11.16.128.34
11.16.128.36

修改NACOS_PATH/conf/application.properties,加入 MySQL 配置

db.num=1 
db.url.0=jdbc:mysql://localhost:3306/nacos_config
characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root

創建一個名為nacos_config的 database,將NACOS_PATH/conf/nacos-mysql.sql中的表結構導入剛才創建的庫中.

 

4、輸入以下命令即可啟動服務:

	sh bin/startup.sh

輸入http://xxxx:8848/nacos/index.html 進入控制臺

 

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注服務器之家的更多內容!

原文鏈接:https://blog.csdn.net/pxy1993/article/details/120144960

延伸 · 閱讀

精彩推薦
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
主站蜘蛛池模板: 亚洲成av人片在线观看天堂无码 | 午夜福到在线2019 | 成人在线观看免费视频 | 国产白白视频在线观看2 | 齐天大性之七仙女欲春迅雷链接 | 欧美成人香蕉在线观看 | 三级无删减高清在线影院 | 国产高清免费在线 | 色综合天天综合网国产人 | 美女18隐私羞羞视频网站 | 亚洲欧美韩国日产综合在线 | 黄a级| 午夜影院免费入口 | 大学生特黄特色大片免费播放 | 青青视频国产依人在线 | 婷婷在线观看香蕉五月天 | 国外欧美一区另类中文字幕 | 国产一线天 | 欧美日韩高清观看一区二区 | 秀逼逼 | 女子监狱第二季未删减在线看 | 多人群p全肉小说 | 青青青在线观看国产精品 | 波多野结衣中文字幕 | 强波多野结衣女教师 | 91夜夜人人揉人人捏人人添 | 久久久精品免费免费直播 | 日本人作爰啪啪全过程 | 亚洲天堂色图 | 四虎论坛| 成人免费一区二区三区在线观看 | 亚洲狠狠婷婷综合久久久久网站 | a黄毛片 | 国产一卡 | 麻豆在线观看 | 午夜小视频网站 | 99爱在线观看精品视频 | 亚欧成人一区二区 | 国产麻豆91欧美一区二区 | 国产精品 色 | 福利片中文 |