欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一篇文章帶你了解Java SpringBoot Nacos

 更新時(shí)間:2021年09月10日 10:07:29   作者:JordanPanther  
這篇文章主要介紹了SpringBoot使用Nacos配置中心的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1、什么是Nacos

Nacos 致力于幫助您發(fā)現(xiàn)、配置和管理微服務(wù)。Nacos 提供了一組簡(jiǎn)單易用的特性集,幫助您快速實(shí)現(xiàn)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置、服務(wù)元數(shù)據(jù)及流量管理。 是Spring Cloud A 中的服務(wù)注冊(cè)發(fā)現(xiàn)組件,類(lèi)似于Consul、Eureka,同時(shí)它又提供了分布式配置中心的功能,這點(diǎn)和Consul的config類(lèi)似,支持熱加載。

Nacos 作為微服務(wù)核心的服務(wù)注冊(cè)與發(fā)現(xiàn)中心,讓大家在 Eureka 和 Consule 之外有了新的選擇,開(kāi)箱即用,上手簡(jiǎn)潔。

1.1與eureka對(duì)比

1 eureka 2.0閉源碼了。
2 從官網(wǎng)來(lái)看nacos 的注冊(cè)的實(shí)例數(shù)是大于eureka的,
3 因?yàn)閚acos使用的raft協(xié)議,nacos集群的一致性要遠(yuǎn)大于eureka集群.

分布式一致性協(xié)議 Raft,自 2013 年論文發(fā)表,之后就受到了技術(shù)領(lǐng)域的熱捧,與其他的分布式一致性算法比,Raft 相對(duì)比較簡(jiǎn)單并且易于實(shí)現(xiàn),這也是 Raft 能異軍突起的主要因素。

在這里插入圖片描述

Raft 的數(shù)據(jù)一致性策略

Raft 協(xié)議強(qiáng)依賴(lài) Leader 節(jié)點(diǎn)來(lái)確保集群數(shù)據(jù)一致性。即 client 發(fā)送過(guò)來(lái)的數(shù)據(jù)均先到達(dá) Leader 節(jié)點(diǎn),Leader 接收到數(shù)據(jù)后,先將數(shù)據(jù)標(biāo)記為 uncommitted 狀態(tài),隨后 Leader 開(kāi)始向所有 Follower 復(fù)制數(shù)據(jù)并等待響應(yīng),在獲得集群中大于 N/2 個(gè) Follower 的已成功接收數(shù)據(jù)完畢的響應(yīng)后,Leader 將數(shù)據(jù)的狀態(tài)標(biāo)記為 committed,隨后向 client 發(fā)送數(shù)據(jù)已接收確認(rèn),在向 client 發(fā)送出已數(shù)據(jù)接收后,再向所有 Follower 節(jié)點(diǎn)發(fā)送通知表明該數(shù)據(jù)狀態(tài)為committed。

1.2與zookeeper對(duì)比

1.作為配置中心

服務(wù)器存儲(chǔ)位置不同,分別采用mysql和zk本身存儲(chǔ)
消息發(fā)送,zk采用過(guò)半機(jī)制保持一致性,Nacos采用異步廣播,通過(guò)后臺(tái)線(xiàn)程重試保證。

2.作為注冊(cè)中心

Nacos:nacos支持兩種方式的注冊(cè)中心,持久化和非持久化存儲(chǔ)服務(wù)信息。

非持久直接存儲(chǔ)在nacos服務(wù)節(jié)點(diǎn)的內(nèi)存中,并且服務(wù)節(jié)點(diǎn)間采用去中心化的思想,服務(wù)節(jié)點(diǎn)采用hash分片存儲(chǔ)注冊(cè)信息
持久化使用Raft協(xié)議選舉master節(jié)點(diǎn),同樣采用過(guò)半機(jī)制將數(shù)據(jù)存儲(chǔ)在leader節(jié)點(diǎn)上

Zookeeper:利用zk的樹(shù)型結(jié)構(gòu)做數(shù)據(jù)存儲(chǔ),服務(wù)注冊(cè)和消費(fèi)信息直接存儲(chǔ)在zk樹(shù)形節(jié)點(diǎn)上,集群下同樣采用過(guò)半機(jī)制保證服務(wù)節(jié)點(diǎn)間一致性

1.3與springcloud config 對(duì)比

三大優(yōu)勢(shì):

  • springcloud config大部分場(chǎng)景結(jié)合git 使用, 動(dòng)態(tài)變更還需要依賴(lài)Spring Cloud Bus 消息總線(xiàn)來(lái)通過(guò)所有的客戶(hù)端變化.
  • springcloud config不提供可視化界面
  • nacos config使用長(zhǎng)連接更新配置, 一旦配置有變動(dòng)后,通知Provider的過(guò)程非常的迅速, 從速度上秒殺springcloud原來(lái)的config幾條街,

2、Spring Cloud Alibaba 套件

目前 Spring Cloud Alibaba 主要有三個(gè)組件:

  • Nacos:一個(gè)更易于構(gòu)建云原生應(yīng)用的動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理平臺(tái)。
  • Sentinel:把流量作為切入點(diǎn),從流量控制、熔斷降級(jí)、系統(tǒng)負(fù)載保護(hù)等多個(gè)維度保護(hù)服務(wù)的穩(wěn)定性。
  • AliCloud OSS: 阿里云對(duì)象存儲(chǔ)服務(wù)(Object Storage Service,簡(jiǎn)稱(chēng)
  • OSS),是阿里云提供的海量、安全、低成本、高可靠的云存儲(chǔ)服務(wù)。您可以在任何應(yīng)用、任何時(shí)間、任何地點(diǎn)存儲(chǔ)和訪問(wèn)任意類(lèi)型的數(shù)據(jù)。

3、Nacos 的架構(gòu)和安裝

3.1、Nacos 的架構(gòu)

在這里插入圖片描述

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

3.2、Nacos Server 的下載和安裝

在使用 Nacos 之前,需要先下載 Nacos 并啟動(dòng) Nacos Server。

安裝的參考教程:

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

4、Nacos Server 的運(yùn)行

4.1兩種模式

Nacos Server 有兩種運(yùn)行模式:

  • standalone
  • cluster

4.2、standalone 模式

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

sh bin/startup.sh -m standalone

然后從 http://xxxx:8848/nacos/index.html 進(jìn)入控制臺(tái)就能看到如下界面了

在這里插入圖片描述

默認(rèn)賬號(hào)和密碼為:nacos nacos

4.3、cluster 模式

測(cè)試環(huán)境,可以先用 standalone 模式擼起來(lái),享受 coding 的快感,但是,生產(chǎn)環(huán)境可以使用 cluster 模式。

cluster 模式需要依賴(lài) MySQL,然后改兩個(gè)配置文件:

conf/cluster.conf
conf/application.properties

cluster.conf,填入要運(yùn)行 Nacos Server 機(jī)器的 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

創(chuàng)建一個(gè)名為nacos_config的 database,將NACOS_PATH/conf/nacos-mysql.sql中的表結(jié)構(gòu)導(dǎo)入剛才創(chuàng)建的庫(kù)中.

4、輸入以下命令即可啟動(dòng)服務(wù):

	sh bin/startup.sh

輸入http://xxxx:8848/nacos/index.html 進(jìn)入控制臺(tái)

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Springboot @WebFilter無(wú)法注入其他Bean的示例問(wèn)題

    Springboot @WebFilter無(wú)法注入其他Bean的示例問(wèn)題

    這篇文章主要介紹了Springboot @WebFilter無(wú)法注入其他Bean的示例問(wèn)題,本文通過(guò)示例代碼給大家分享解決方法,需要的朋友可以參考下
    2021-09-09
  • java FileWriter 追加文件及文件改名方式

    java FileWriter 追加文件及文件改名方式

    這篇文章主要介紹了java FileWriter 追加文件及文件改名的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java 為什么要避免使用finalizer和Cleaner

    Java 為什么要避免使用finalizer和Cleaner

    這篇文章主要介紹了Java 為什么要避免使用finalizer和Cleaner,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-03-03
  • Java中的ThreadPoolExecutor線(xiàn)程池原理細(xì)節(jié)解析

    Java中的ThreadPoolExecutor線(xiàn)程池原理細(xì)節(jié)解析

    這篇文章主要介紹了Java中的ThreadPoolExecutor線(xiàn)程池原理細(xì)節(jié)解析,ThreadPoolExecutor是一個(gè)線(xiàn)程池,最多可使用7個(gè)參數(shù)來(lái)控制線(xiàn)程池的生成,使用線(xiàn)程池可以避免創(chuàng)建和銷(xiāo)毀線(xiàn)程的資源損耗,提高響應(yīng)速度,并且可以管理線(xiàn)程池中線(xiàn)程的數(shù)量和狀態(tài)等等,需要的朋友可以參考下
    2023-12-12
  • Spring MVC 中 AJAX請(qǐng)求并返回JSON的示例

    Spring MVC 中 AJAX請(qǐng)求并返回JSON的示例

    本篇文章主要介紹了Spring MVC 中 AJAX請(qǐng)求并返回JSON,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-01-01
  • Spring中的@Scheduled定時(shí)任務(wù)注解詳解

    Spring中的@Scheduled定時(shí)任務(wù)注解詳解

    這篇文章主要介紹了Spring中的@Scheduled定時(shí)任務(wù)注解詳解,要使用@Scheduled注解,首先需要在啟動(dòng)類(lèi)添加@EnableScheduling,啟用Spring的計(jì)劃任務(wù)執(zhí)行功能,這樣可以在容器中的任何Spring管理的bean上檢測(cè)@Scheduled注解,執(zhí)行計(jì)劃任務(wù),需要的朋友可以參考下
    2023-09-09
  • Springboot+rabbitmq實(shí)現(xiàn)延時(shí)隊(duì)列的兩種方式

    Springboot+rabbitmq實(shí)現(xiàn)延時(shí)隊(duì)列的兩種方式

    這篇文章主要介紹了Springboot+rabbitmq實(shí)現(xiàn)延時(shí)隊(duì)列的兩種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • java過(guò)濾器中Filter的ChainFilter過(guò)濾鏈

    java過(guò)濾器中Filter的ChainFilter過(guò)濾鏈

    這篇文章主要介紹了java過(guò)濾器中Filter的ChainFilter過(guò)濾鏈,發(fā)送請(qǐng)求時(shí),如果有不符合的信息將會(huì)被filter進(jìn)行攔截,如果符合則會(huì)進(jìn)行放行。如果感興趣可以來(lái)學(xué)習(xí)一下
    2020-07-07
  • SpringBoot如何讀取application.properties配置文件

    SpringBoot如何讀取application.properties配置文件

    這篇文章主要介紹了SpringBoot如何讀取application.properties配置文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 源碼解析Java類(lèi)加載器

    源碼解析Java類(lèi)加載器

    這篇文章主要給大家介紹了Java類(lèi)加載器源碼解析的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評(píng)論