中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

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

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

在這里插入圖片描述

目錄

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

專欄導讀

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

🏆本文收錄于Java基礎教程系列(進階篇),本專欄是針對大學生、初級Java工程師精心打造,針對Java生態(tài),逐個擊破,不斷學習,打通Java技術棧

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

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

🏆哪吒多年工作總結:Java學習路線總結,搬磚工逆襲Java架構師。

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

大家好,我是哪吒。

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

一、什么是Nacos?

一個更易于構建云原生應用的動態(tài)服務發(fā)現(xiàn)、服務配置和服務管理平臺。

在這里插入圖片描述

Nacos的關鍵特性:

在這里插入圖片描述

二、注冊中心演變及其設計思想

1、RestTemplate調(diào)用遠程服務

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

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

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

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

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

在這里插入圖片描述
這種是最簡單的Nacos注冊中心,有若干個服務,都注冊到Nacos注冊中心,調(diào)用之前,先到Nacos獲取對應接口,然后進行實際的調(diào)用。

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

4、心跳版Nacos

在這里插入圖片描述

心跳版Nacos,服務1和服務2和Nacos之間維護一個心跳關系,每5秒跳一次,頻率不能太快或者太慢,否者會嗝屁的。

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

也可以通過服務端主動注銷的方式,停止注冊。

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

三、Nacos Discovery

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

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

Nacos 的配置項信息:

在這里插入圖片描述

四、Nacos核心功能

在這里插入圖片描述

1、服務注冊

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

2、服務心跳

服務注冊后,服務消費者和Nacos Server之間會維護一個心跳,定時通知server,此服務還活著,防止被剔除掉。

3、服務同步

Nacos Server集群之間會互相同步已注冊的服務,用來保證服務列表的一致性。

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

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

5、服務健康檢查

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

五、作為注冊中心

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

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

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

六、作為配置中心

1、SpringBoot集成Nacos

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

(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)主方法啟動類

@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+"; 擅長技術: "+language);}
}

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

一秒刷新一次。

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

3、可支持profile粒度的配置

4、支持自定義 namespace 的配置

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

5、支持自定義 Group 的配置

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

spring.cloud.nacos.config.group=DEVELOP_GROUP

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

profile > 默認配置文件 > extension-configs(下標越大優(yōu)先級越高) > shared-configs(下標越大優(yōu)先級越高)

7、@RefreshScope

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

8、Spring Cloud Config 橫向對比Nacos

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

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

下一篇:Java學習路線總結,搬磚工逆襲Java架構師

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

Java學習路線總結,搬磚工逆襲Java架構師

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

Java基礎教程系列

Java基礎教程系列(進階篇)

http://m.risenshineclean.com/news/41049.html

相關文章:

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