国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

哲學(xué)專業(yè)特色建設(shè)網(wǎng)站谷歌搜索廣告優(yōu)化

哲學(xué)專業(yè)特色建設(shè)網(wǎng)站,谷歌搜索廣告優(yōu)化,定位網(wǎng)站關(guān)鍵詞,github做網(wǎng)站目錄專欄導(dǎo)讀一、什么是Nacos?二、注冊(cè)中心演變及其設(shè)計(jì)思想1、RestTemplate調(diào)用遠(yuǎn)程服務(wù)2、通過Nginx維護(hù)服務(wù)列表(upStream)3、通過Nacos實(shí)現(xiàn)注冊(cè)中心4、心跳版Nacos三、Nacos Discovery四、Nacos核心功能1、服務(wù)注冊(cè)2、服務(wù)心跳3、服務(wù)同步…

在這里插入圖片描述

目錄

    • 專欄導(dǎo)讀
    • 一、什么是Nacos?
    • 二、注冊(cè)中心演變及其設(shè)計(jì)思想
      • 1、RestTemplate調(diào)用遠(yuǎn)程服務(wù)
      • 2、通過Nginx維護(hù)服務(wù)列表(upStream)
      • 3、通過Nacos實(shí)現(xiàn)注冊(cè)中心
      • 4、心跳版Nacos
    • 三、Nacos Discovery
    • 四、Nacos核心功能
      • 1、服務(wù)注冊(cè)
      • 2、服務(wù)心跳
      • 3、服務(wù)同步
      • 4、服務(wù)發(fā)現(xiàn)
      • 5、服務(wù)健康檢查
    • 五、作為注冊(cè)中心
    • 六、作為配置中心
      • 1、SpringBoot集成Nacos
      • 2、支持配置的動(dòng)態(tài)更新
      • 3、可支持profile粒度的配置
      • 4、支持自定義 namespace 的配置
      • 5、支持自定義 Group 的配置
      • 6、配置優(yōu)先級(jí)
      • 7、@RefreshScope
      • 8、Spring Cloud Config 橫向?qū)Ρ萅acos

專欄導(dǎo)讀

🏆作者簡(jiǎn)介:哪吒,CSDN2022博客之星Top1、CSDN2021博客之星Top2、多屆新星計(jì)劃導(dǎo)師?、博客專家💪 ,專注Java硬核干貨分享,立志做到Java賽道全網(wǎng)Top N。

🏆本文收錄于Java基礎(chǔ)教程系列(進(jìn)階篇),本專欄是針對(duì)大學(xué)生、初級(jí)Java工程師精心打造,針對(duì)Java生態(tài),逐個(gè)擊破,不斷學(xué)習(xí),打通Java技術(shù)棧

🏆訂閱后,可以閱讀Java基礎(chǔ)教程系列(進(jìn)階篇)中全部文章包含Java基礎(chǔ)、Java高并發(fā)、Spring、MySQL等Java進(jìn)階技術(shù)棧。

🏆還可以訂閱其姐妹篇Java基礎(chǔ)教程系列,包含全部Java基礎(chǔ)知識(shí)點(diǎn)、Java8新特性、Java集合、Java多線程、Java代碼實(shí)例理論結(jié)合實(shí)戰(zhàn),實(shí)現(xiàn)Java的輕松學(xué)習(xí)。

🏆哪吒多年工作總結(jié):Java學(xué)習(xí)路線總結(jié),搬磚工逆襲Java架構(gòu)師。

🏆面試福音:10萬字208道Java經(jīng)典面試題總結(jié)(附答案)

大家好,我是哪吒。

本系列為SpringCloud微服務(wù)系列,上一篇學(xué)習(xí)了Spring Cloud Alibaba 微服務(wù)1,系統(tǒng)架構(gòu)演變 + Nginx反向代理與負(fù)載均衡,讀哪吒編程,品技術(shù)人生。

一、什么是Nacos?

一個(gè)更易于構(gòu)建云原生應(yīng)用的動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置和服務(wù)管理平臺(tái)。

在這里插入圖片描述

Nacos的關(guān)鍵特性:

在這里插入圖片描述

二、注冊(cè)中心演變及其設(shè)計(jì)思想

1、RestTemplate調(diào)用遠(yuǎn)程服務(wù)

如果此時(shí),服務(wù)端接口接口名或參數(shù)或請(qǐng)求方式更改了,那么就得同步修改此restTemplate方法,感覺很麻煩。
在這里插入圖片描述

@SpringBootTest
class Test {@Resourceprivate RestTemplate restTemplate;@Testvoid testSimple()  {// 請(qǐng)求地址String url = "http://www.nzbc.com/updateUser";// 要發(fā)送的數(shù)據(jù)對(duì)象User user = new User();user.setUserId(1);user.setName("哪吒編程");user.setMsg("讀哪吒編程,品技術(shù)人生");// 發(fā)送post請(qǐng)求User result = restTemplate.postForObject(url, user, User.class);System.out.println(result);}
}

2、通過Nginx維護(hù)服務(wù)列表(upStream)

在這里插入圖片描述
通過Nginx維護(hù)服務(wù)列表(upStream),如果服務(wù)較多的話,在Nginx通過upStream的方式去配置的話,Nginx配置文件會(huì)變得非常的難以維護(hù)。

3、通過Nacos實(shí)現(xiàn)注冊(cè)中心

在這里插入圖片描述
這種是最簡(jiǎn)單的Nacos注冊(cè)中心,有若干個(gè)服務(wù),都注冊(cè)到Nacos注冊(cè)中心,調(diào)用之前,先到Nacos獲取對(duì)應(yīng)接口,然后進(jìn)行實(shí)際的調(diào)用。

但是,思考一個(gè)問題,如果Nacos宕機(jī)了,怎么辦?如果從Nacos獲取到接口后,調(diào)用服務(wù)2時(shí),服務(wù)2宕機(jī)了,怎么辦?

4、心跳版Nacos

在這里插入圖片描述

心跳版Nacos,服務(wù)1和服務(wù)2和Nacos之間維護(hù)一個(gè)心跳關(guān)系,每5秒跳一次,頻率不能太快或者太慢,否者會(huì)嗝屁的。

如果Nacos在5秒內(nèi)沒有收到心跳,則表示服務(wù)掛了,Nacos會(huì)下線此服務(wù)。對(duì)于超過15秒沒有收到客戶端心跳的服務(wù)實(shí)例,會(huì)將它的healthy屬性置為false,客戶端無法調(diào)用healthy為false的服務(wù),如果超過30秒沒有收到心跳,Nacos會(huì)直接將此服務(wù)剔除。

也可以通過服務(wù)端主動(dòng)注銷的方式,停止注冊(cè)。

服務(wù)1調(diào)用服務(wù)2時(shí),服務(wù)1會(huì)通過定時(shí)任務(wù)到Nacos中獲取在線的服務(wù),保證所調(diào)用的服務(wù)一直都是健康在線的狀態(tài)。獲取到之后,用緩存將其保存起來,然后通過負(fù)載均衡器調(diào)用服務(wù)2,此時(shí),將不再使用服務(wù)端的負(fù)載均衡Nginx了。

三、Nacos Discovery

SpringBoot中引入Nacos Discovery,實(shí)現(xiàn)與Nacos的無縫連接,Nacos Discovery可以將服務(wù)自動(dòng)注冊(cè)到Nacos服務(wù)端,并且能夠動(dòng)態(tài)感知此服務(wù),并刷新服務(wù)列表。并將服務(wù)的host、port、URL等信息注冊(cè)到Nacos。

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

Nacos 的配置項(xiàng)信息:

在這里插入圖片描述

四、Nacos核心功能

在這里插入圖片描述

1、服務(wù)注冊(cè)

Nacos Client會(huì)通過發(fā)送REST請(qǐng)求向Nacos Server注冊(cè)自己的服務(wù),提供自身的元數(shù)據(jù),比如host、port、url等信息,Nacos Server在收到注冊(cè)請(qǐng)求后,會(huì)將這些數(shù)據(jù)信息存儲(chǔ)在一個(gè)雙層的內(nèi)存map中。

2、服務(wù)心跳

服務(wù)注冊(cè)后,服務(wù)消費(fèi)者和Nacos Server之間會(huì)維護(hù)一個(gè)心跳,定時(shí)通知server,此服務(wù)還活著,防止被剔除掉。

3、服務(wù)同步

Nacos Server集群之間會(huì)互相同步已注冊(cè)的服務(wù),用來保證服務(wù)列表的一致性。

4、服務(wù)發(fā)現(xiàn)

服務(wù)消費(fèi)者在調(diào)用服務(wù)提供者的服務(wù)時(shí),會(huì)發(fā)送一個(gè)REST請(qǐng)求到Nacos Server,獲取健康的服務(wù)列表,然后將其緩存到本地,同時(shí)開啟一個(gè)定時(shí)任務(wù),定時(shí)訪問Nacos Server,然后更新本地緩存。

5、服務(wù)健康檢查

Nacos Server會(huì)開啟一個(gè)定時(shí)任務(wù)用來檢查注冊(cè)服務(wù)實(shí)例的健康情況,對(duì)于超過15秒沒有收到客戶端心跳的服務(wù)實(shí)例,會(huì)將它的healthy屬性置為false,客戶端無法調(diào)用healthy為false的服務(wù),如果超過30秒沒有收到心跳,Nacos會(huì)直接將此服務(wù)剔除。

五、作為注冊(cè)中心

  1. Nacos目前功能最全,用的也最多;
  2. Eureka,因?yàn)橥Ω木壒?#xff0c;比較新的技術(shù)都不支持了,目前很多公司都將Eureka換成Nacos了,不推薦使用;
  3. Zookeeper,用的最多的地方就是和Dubbo一起使用,不支持負(fù)載均衡策略,但可以通過其它組件實(shí)現(xiàn);
  4. Consul支持的也很多;
  5. CoreDNS不推薦使用;

CAP,C一致性,A可用性,P分區(qū)容錯(cuò)性

NacosEurekaZookeeperConsul
一致性協(xié)議CP + APCPAPCP
訪問協(xié)議HTTP/DNSHTTPTCPHTTP/DNS
健康檢查TCP/HTTP/MYSQL/Client BeatClient BeatKeep LiveTCP/HTT[/gRPC/Cmd
負(fù)載均衡策略權(quán)重/metadata/SeletorRibbon-Fabio
雪崩保護(hù)
自動(dòng)注銷支持支持支持支持
監(jiān)聽支持支持支持支持
多數(shù)據(jù)中心支持支持支持不支持
跨注冊(cè)中心同步支持不支持不支持支持
Spring Cloud集成支持支持支持支持
Dubbo集成支持不支持支持支持
K8S集成支持不支持支持不支持

六、作為配置中心

1、SpringBoot集成Nacos

Nacos使用key/value形式存儲(chǔ)配置信息,為分布式系統(tǒng)中的外部化配置提供服務(wù)支持。

(1)maven文件

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

(2)配置文件

spring.application.name=nacos-config
spring.cloud.nacos.config.server-addr=127.0.0.1:8848blog.name=哪吒編程
blog.language=java

(3)主方法啟動(dòng)類

@SpringBootApplication
public class ProviderApplication {public static void main(String[] args) {ConfigurableApplicationContext applicationContext = SpringApplication.run(ProviderApplication.class, args);String name = applicationContext.getEnvironment().getProperty("blog.name");String language = applicationContext.getEnvironment().getProperty("blog.language");System.err.println("名字 :"+name+"; 擅長(zhǎng)技術(shù): "+language);}
}

2、支持配置的動(dòng)態(tài)更新

一秒刷新一次。

@SpringBootApplication
public class ProviderApplication {public static void main(String[] args) {ConfigurableApplicationContext applicationContext = SpringApplication.run(ProviderApplication.class, args);while(true) {//當(dāng)動(dòng)態(tài)配置刷新時(shí),會(huì)更新到 Enviroment中,因此這里每隔一秒中從Enviroment中獲取配置String name = applicationContext.getEnvironment().getProperty("blog.name");String language = applicationContext.getEnvironment().getProperty("blog.language");System.err.println("名字 :"+name+"; 擅長(zhǎng)技術(shù): "+language);TimeUnit.SECONDS.sleep(1);}}
}

3、可支持profile粒度的配置

4、支持自定義 namespace 的配置

開發(fā)測(cè)試環(huán)境和生產(chǎn)環(huán)境的資源(如配置、服務(wù))隔離等,比如dev和prod。

5、支持自定義 Group 的配置

在沒有明確指定 ${spring.cloud.nacos.config.group}配置的情況下, 默認(rèn)使用的是 DEFAULT_GROUP 。如果需要自定義自己的 Group,可以通過以下配置來實(shí)現(xiàn):

spring.cloud.nacos.config.group=DEVELOP_GROUP

6、配置優(yōu)先級(jí)

profile > 默認(rèn)配置文件 > extension-configs(下標(biāo)越大優(yōu)先級(jí)越高) > shared-configs(下標(biāo)越大優(yōu)先級(jí)越高)

7、@RefreshScope

一般都是通過@Value的形式讀取配置文件中的信息,但是無法感知修改后的值,需要利用@RefreshScope動(dòng)態(tài)刷新。

8、Spring Cloud Config 橫向?qū)Ρ萅acos

  1. Spring Cloud Config需要結(jié)合Git使用,動(dòng)態(tài)變更需要配合Bus 消息總線來通知所有的客戶端變化;
  2. Spring Cloud Config沒有可視化界面;
  3. Nacos使用長(zhǎng)輪詢更新配置,速度上秒殺Spring Cloud Config;

上一篇:Spring Cloud Alibaba 微服務(wù)1,系統(tǒng)架構(gòu)演變 + Nginx反向代理與負(fù)載均衡

下一篇:Java學(xué)習(xí)路線總結(jié),搬磚工逆襲Java架構(gòu)師

在這里插入圖片描述
在這里插入圖片描述

Java學(xué)習(xí)路線總結(jié),搬磚工逆襲Java架構(gòu)師

10萬字208道Java經(jīng)典面試題總結(jié)(附答案)

Java基礎(chǔ)教程系列

Java基礎(chǔ)教程系列(進(jìn)階篇)

http://aloenet.com.cn/news/41049.html

相關(guān)文章:

  • 畢業(yè)論文做cad圖的網(wǎng)站江蘇網(wǎng)頁設(shè)計(jì)
  • 網(wǎng)站投訴平臺(tái)寧波seo快速排名
  • WordPress可以做社交網(wǎng)站嘛網(wǎng)絡(luò)平臺(tái)怎么創(chuàng)建
  • 溫州做網(wǎng)站設(shè)計(jì)網(wǎng)絡(luò)營(yíng)銷類型有哪些
  • 滑動(dòng) 手機(jī)網(wǎng)站 代碼優(yōu)化人員配置
  • wordpress添加友情練級(jí)濟(jì)南seo網(wǎng)絡(luò)優(yōu)化公司
  • wordpress視頻站主題百度一下你就知道下載
  • 明年做哪個(gè)網(wǎng)站致富站長(zhǎng)工具seo綜合查詢降級(jí)
  • 抖音短視頻代運(yùn)營(yíng)公司太原seo網(wǎng)絡(luò)優(yōu)化招聘網(wǎng)
  • 鄭州市熱點(diǎn)新聞優(yōu)化游戲卡頓的軟件
  • 公司網(wǎng)站制作 步驟seo優(yōu)化師是什么
  • 網(wǎng)站備案值得嗎常見的搜索引擎
  • 做機(jī)械設(shè)計(jì)的要知道哪些網(wǎng)站產(chǎn)品優(yōu)化是什么意思
  • 深圳外貿(mào)網(wǎng)站建設(shè)公司企業(yè)管理培訓(xùn)班
  • 濟(jì)南哪里有建網(wǎng)站seo公司怎樣找客戶
  • 網(wǎng)站上的截圖怎么做動(dòng)態(tài)網(wǎng)站的制作與設(shè)計(jì)
  • 玉溪網(wǎng)絡(luò)推廣 網(wǎng)站建設(shè)國(guó)外網(wǎng)站加速
  • 寧波做日用品外貿(mào)公司網(wǎng)站百度搜索引擎原理
  • 湖北網(wǎng)站建設(shè)找哪家如何做好營(yíng)銷推廣
  • asp.net網(wǎng)站安全太原網(wǎng)站制作優(yōu)化seo公司
  • 安順住房和城鄉(xiāng)建設(shè)部網(wǎng)站網(wǎng)站app開發(fā)公司
  • 昆山做網(wǎng)站的公司有哪些關(guān)鍵詞免費(fèi)
  • 德陽企業(yè)品牌網(wǎng)站建設(shè)seo網(wǎng)站推廣公司
  • 聚美優(yōu)品一個(gè)專注于做特價(jià)的網(wǎng)站活動(dòng)推廣軟文
  • 建站系統(tǒng)磁力搜索引擎不死鳥
  • 織夢(mèng)做網(wǎng)站的教程短視頻代運(yùn)營(yíng)合作方案
  • 吃什么補(bǔ)腎虛效果最好食物焦作整站優(yōu)化
  • 2018網(wǎng)站的建設(shè)與維護(hù)前景網(wǎng)店代運(yùn)營(yíng)商
  • 鎮(zhèn)江做網(wǎng)站的做網(wǎng)站用什么編程軟件
  • 科技網(wǎng)站 網(wǎng)站建設(shè)廣告公司業(yè)務(wù)推廣