自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

替代Eureka,你可以試試Consul

開(kāi)發(fā) 架構(gòu)
Eureka 1.x作為一個(gè)服務(wù)注冊(cè)中心,有一個(gè)非常典型的架構(gòu)問(wèn)題。雖然他可以部署集群架構(gòu),但是集群中每個(gè)Eureka實(shí)例都是對(duì)等的。

1、Eureka官方宣布2.x不再開(kāi)源

?如果對(duì)Spring Cloud微服務(wù)技術(shù)體系有一定了解了之后,肯定就知道Spring Cloud最開(kāi)始原生支持和推薦的服務(wù)注冊(cè)中心是國(guó)外的一個(gè)視頻網(wǎng)站Netflix開(kāi)源的Eureka。

這個(gè)Eureka呢,又分成了所謂的1.x版本和2.x版本,之前在國(guó)內(nèi)比較常用在生產(chǎn)環(huán)境中的都是Eureka的1.x版本。

然后Netflix這個(gè)公司本身一直在做Eureka 2.x版本,結(jié)果做著做著,大家萬(wàn)眾矚目很期待的時(shí)候。。。

2018年7月,人家官方就突然宣布Eureka 2.x停止開(kāi)源計(jì)劃了,具體如下:

用中文給大家翻譯一下,這里的意思就是說(shuō):Eureka 2.0的開(kāi)源工作已經(jīng)停止了,如果你要用Eureka 2.x版本的代碼來(lái)部署到生產(chǎn)環(huán)境的話,一切后果請(qǐng)自負(fù)。?

大概就是這個(gè)意思,就是不打算把這個(gè)事兒做大做強(qiáng)下去了。

當(dāng)然現(xiàn)在其實(shí)Eureka 1.x的版本也有不少公司在生產(chǎn)環(huán)境用,而且基本也還算能用的狀態(tài),基本功能還算正常,應(yīng)付很多常規(guī)的場(chǎng)景也足夠了。

但是現(xiàn)實(shí)就是這個(gè)聲明發(fā)出來(lái),讓大伙都心里一涼,怎么感覺(jué)這個(gè)這個(gè)Eureka有點(diǎn)不太靠譜了呢,咱還敢繼續(xù)用么,沒(méi)錯(cuò),很多小伙伴就是這感覺(jué)。

2、互聯(lián)網(wǎng)大廠的基礎(chǔ)架構(gòu):自研服務(wù)注冊(cè)中心

這里給大家說(shuō)一句題外話,BAT、TMD等一線互聯(lián)網(wǎng)公司,包括一些有一定研發(fā)實(shí)力的中大型互聯(lián)網(wǎng)公司,都是自研了微服務(wù)技術(shù)架構(gòu)中的服務(wù)注冊(cè)中心?;蛘呤腔陂_(kāi)源的Eureka之類的項(xiàng)目來(lái)做二次開(kāi)發(fā),自行優(yōu)化里面的架構(gòu),解決遇到的問(wèn)題。

所以對(duì)于有基礎(chǔ)架構(gòu)團(tuán)隊(duì)的公司而言,這個(gè)問(wèn)題相對(duì)來(lái)說(shuō)還沒(méi)那么嚴(yán)重。

因?yàn)榇髲S的基礎(chǔ)架構(gòu)團(tuán)隊(duì),完全可以把常見(jiàn)的開(kāi)源服務(wù)注冊(cè)中心的源碼都深入看一遍,然后經(jīng)過(guò)大量嚴(yán)謹(jǐn)?shù)臏y(cè)試找到各個(gè)開(kāi)源技術(shù)的優(yōu)點(diǎn)和缺點(diǎn)。最后決定是從0開(kāi)始自研一個(gè)服務(wù)注冊(cè)中心,還是說(shuō)基于某個(gè)開(kāi)源的技術(shù)來(lái)進(jìn)行二次開(kāi)發(fā)和優(yōu)化。

?比如說(shuō)Eureka 1.x作為一個(gè)服務(wù)注冊(cè)中心,有一個(gè)非常典型的架構(gòu)問(wèn)題。

雖然他可以部署集群架構(gòu),但是集群中每個(gè)Eureka實(shí)例都是對(duì)等的。每個(gè)Eureka實(shí)例都包含了全部的服務(wù)注冊(cè)表,每個(gè)Eureka實(shí)例接收到了服務(wù)注冊(cè)/下線等請(qǐng)求的時(shí)候,會(huì)同步轉(zhuǎn)發(fā)給集群中其他的Eureka實(shí)例,實(shí)現(xiàn)集群數(shù)據(jù)同步。

大家看下面的圖,大概就是一個(gè)示意。?

那么這里就有一個(gè)問(wèn)題了:如果是支持超大規(guī)模的服務(wù)集群,這樣的模式能行么?

每臺(tái)機(jī)器的內(nèi)存是有限的,集群里的服務(wù)數(shù)量越來(lái)越多,可能有幾十萬(wàn)個(gè)服務(wù)實(shí)例在運(yùn)行,那么服務(wù)注冊(cè)表越來(lái)越大,最后超過(guò)單機(jī)內(nèi)存支撐的極限怎么辦?

這個(gè)時(shí)候如果自己研發(fā)服務(wù)注冊(cè)中心,就可以參考大數(shù)據(jù)領(lǐng)域的Hadoop的架構(gòu)思想。

Hadoop的設(shè)計(jì)思想是把注冊(cè)表分片存儲(chǔ),分布式存儲(chǔ)在多臺(tái)機(jī)器上,每臺(tái)機(jī)器存儲(chǔ)部分注冊(cè)表數(shù)據(jù)。

然后每個(gè)Server可以加上一個(gè)從節(jié)點(diǎn)做熱備份,避免單機(jī)掛掉導(dǎo)致注冊(cè) 表數(shù)據(jù)丟失。

我們來(lái)看看架構(gòu)圖,如下所示:

實(shí)際在生產(chǎn)環(huán)境使用Eureka的時(shí)候,你還會(huì)碰到很多現(xiàn)實(shí)的問(wèn)題。

比如說(shuō)上面講了,Eureka本身是基于簡(jiǎn)單的同步機(jī)制實(shí)現(xiàn)集群架構(gòu)的,但是這里在集群之間進(jìn)行同步的時(shí)候,其實(shí)是異步進(jìn)行的,采用的是最終一致性的協(xié)議。

這就可能會(huì)導(dǎo)致說(shuō),你某個(gè)服務(wù)注冊(cè)到了一個(gè)Eureka Server實(shí)例上去,但是他需要異步復(fù)制到其他的Eureka Server,這中間是需要時(shí)間的。

所以可能導(dǎo)致其他的Eureka Server是看不到那個(gè)剛新注冊(cè)的服務(wù)實(shí)例的。

大家看下面的圖,就示意了這個(gè)問(wèn)題:

但是如果是采取了類似Hadoop的那種數(shù)據(jù)分片思想的話,一個(gè)注冊(cè)表數(shù)據(jù)分片就在一臺(tái)機(jī)器上,由這臺(tái)機(jī)器負(fù)責(zé)提供服務(wù)的注冊(cè)和發(fā)現(xiàn),那么此時(shí)就可以實(shí)現(xiàn)強(qiáng)一致的效果。

也就是說(shuō),只要你注冊(cè)了,立馬就會(huì)被別人發(fā)現(xiàn),如下圖。

這里只是說(shuō)其中幾個(gè)例子罷了,改造開(kāi)源系統(tǒng)的思路是很多的,實(shí)際上大廠完全可以對(duì)開(kāi)源技術(shù)做很多的自研、定制和改造,解決線上的生產(chǎn)問(wèn)題,讓服務(wù)注冊(cè)中心朝著他們心里期望的效果去發(fā)展,所以對(duì)他們來(lái)說(shuō)其實(shí)問(wèn)題并不大。

3、中小公司的其他選擇:Consul

只是對(duì)于很多中小型公司而言,可能本身沒(méi)有基礎(chǔ)架構(gòu)團(tuán)隊(duì)的支撐,或者是沒(méi)有過(guò)多的人力物力投入到自研中間件、開(kāi)源系統(tǒng)二次開(kāi)發(fā)中去。

那么此時(shí)就可以考慮選擇其他的開(kāi)源服務(wù)注冊(cè)中心的技術(shù)了,比如Spring Cloud同樣支持的Consul就是目前很多公司的選擇。

這兒咱們簡(jiǎn)單介紹一下Consul,后面可以考慮再寫(xiě)文章介紹介紹Consul的架構(gòu)原理和使用什么的,大家看一下,可以作為一個(gè)服務(wù)注冊(cè)中心技術(shù)選型的參考:

  • 服務(wù)注冊(cè)與發(fā)現(xiàn)

(1)Consul當(dāng)然是可以作為服務(wù)注冊(cè)中心的了,可以用做微服務(wù)架構(gòu)的服務(wù)注冊(cè)和發(fā)現(xiàn)。

(2)同時(shí)這里可以先給大家說(shuō)一下,Consul的服務(wù)注冊(cè)機(jī)制選擇的是基于Daft協(xié)議的強(qiáng)一致,沒(méi)有像Eureka那樣使用最終一致的效果。

  • 健康檢查

(1)Consul可以支持非常強(qiáng)大的健康檢查的功能,啥叫健康檢查?

(2)簡(jiǎn)單來(lái)說(shuō)就是不停的發(fā)請(qǐng)求給你的服務(wù)檢查他到底死了沒(méi)有,目前是否還健康,這個(gè)就是叫做健康檢查。

  • kv存儲(chǔ)

(1)Consul不光支持服務(wù)注冊(cè)和發(fā)現(xiàn),居然還可以支持簡(jiǎn)單的kv存儲(chǔ)。

(2)他可以讓你用key-value對(duì)的形式存放一些信息以及提取查詢,是不是很神奇?

  • 安全的服務(wù)通信

(1)Consul支持讓你的服務(wù)之間進(jìn)行授權(quán)來(lái)限制哪些服務(wù)可以通信和連接。

  • 多數(shù)據(jù)中心支持

其實(shí)說(shuō)實(shí)話,在做技術(shù)選型的時(shí)候,非常關(guān)鍵的一點(diǎn),就是看社區(qū)是否活躍。

所以雖然上面說(shuō)了很多,但是其實(shí)大家完全可以看一眼下面的Eureka Github和Consul Github的更新活躍度的對(duì)比。

我們明顯會(huì)發(fā)現(xiàn),Eureka 1.x版本最近的更新都在幾個(gè)月前甚至幾年前,但是Consul最近的更新很多都是幾天前的。

所以本身Spring Cloud官方技術(shù)棧也是支持Consul的,Eureka開(kāi)源社區(qū)慢慢不再活躍之后,自然很多中小公司開(kāi)始選擇使用功能更加強(qiáng)大,而且社區(qū)更新也更加活躍的Consul作為服務(wù)注冊(cè)中心了,這也是一個(gè)不錯(cuò)的選擇。

責(zé)任編輯:姜華 來(lái)源: 今日頭條
相關(guān)推薦

2021-05-28 06:19:22

ZooKeeperConsulNacos

2020-06-29 07:58:18

ZooKeeperConsul 注冊(cè)中心

2023-09-05 07:47:14

.NET 7.0內(nèi)存緩存

2021-11-30 10:38:09

splitStringTokenJava

2021-01-28 11:40:34

Dubbo異步配置

2017-06-25 13:33:25

Spring Clou微服務(wù)架構(gòu)

2021-08-30 19:00:46

靜態(tài)CompletableCountDownLa

2014-11-28 16:04:36

浪潮

2014-02-21 15:17:23

云存儲(chǔ)Time Machin

2022-03-24 10:54:33

Piwigo開(kāi)源

2022-02-14 23:43:33

大數(shù)據(jù)風(fēng)險(xiǎn)數(shù)據(jù)

2022-01-26 07:18:57

工具GoGo 項(xiàng)目

2022-02-09 07:44:30

Go源碼工具

2021-09-30 16:17:42

開(kāi)源軟件視頻通話視頻會(huì)議

2010-03-03 14:36:01

Linux bridg

2023-05-30 14:54:17

Python循環(huán)語(yǔ)句工具

2024-03-11 08:21:49

2023-08-01 07:45:52

2021-01-05 08:35:24

GNU nanoVim編輯器

2021-09-22 09:14:33

Linux編程Visual Stud
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)