成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

替代Eureka,你可以試試Consul

開發 架構
Eureka 1.x作為一個服務注冊中心,有一個非常典型的架構問題。雖然他可以部署集群架構,但是集群中每個Eureka實例都是對等的。

1、Eureka官方宣布2.x不再開源

?如果對Spring Cloud微服務技術體系有一定了解了之后,肯定就知道Spring Cloud最開始原生支持和推薦的服務注冊中心是國外的一個視頻網站Netflix開源的Eureka。

這個Eureka呢,又分成了所謂的1.x版本和2.x版本,之前在國內比較常用在生產環境中的都是Eureka的1.x版本。

然后Netflix這個公司本身一直在做Eureka 2.x版本,結果做著做著,大家萬眾矚目很期待的時候。。。

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

用中文給大家翻譯一下,這里的意思就是說:Eureka 2.0的開源工作已經停止了,如果你要用Eureka 2.x版本的代碼來部署到生產環境的話,一切后果請自負。?

大概就是這個意思,就是不打算把這個事兒做大做強下去了。

當然現在其實Eureka 1.x的版本也有不少公司在生產環境用,而且基本也還算能用的狀態,基本功能還算正常,應付很多常規的場景也足夠了。

但是現實就是這個聲明發出來,讓大伙都心里一涼,怎么感覺這個這個Eureka有點不太靠譜了呢,咱還敢繼續用么,沒錯,很多小伙伴就是這感覺。

2、互聯網大廠的基礎架構:自研服務注冊中心

這里給大家說一句題外話,BAT、TMD等一線互聯網公司,包括一些有一定研發實力的中大型互聯網公司,都是自研了微服務技術架構中的服務注冊中心。或者是基于開源的Eureka之類的項目來做二次開發,自行優化里面的架構,解決遇到的問題。

所以對于有基礎架構團隊的公司而言,這個問題相對來說還沒那么嚴重。

因為大廠的基礎架構團隊,完全可以把常見的開源服務注冊中心的源碼都深入看一遍,然后經過大量嚴謹的測試找到各個開源技術的優點和缺點。最后決定是從0開始自研一個服務注冊中心,還是說基于某個開源的技術來進行二次開發和優化。

?比如說Eureka 1.x作為一個服務注冊中心,有一個非常典型的架構問題。

雖然他可以部署集群架構,但是集群中每個Eureka實例都是對等的。每個Eureka實例都包含了全部的服務注冊表,每個Eureka實例接收到了服務注冊/下線等請求的時候,會同步轉發給集群中其他的Eureka實例,實現集群數據同步。

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

那么這里就有一個問題了:如果是支持超大規模的服務集群,這樣的模式能行么?

每臺機器的內存是有限的,集群里的服務數量越來越多,可能有幾十萬個服務實例在運行,那么服務注冊表越來越大,最后超過單機內存支撐的極限怎么辦?

這個時候如果自己研發服務注冊中心,就可以參考大數據領域的Hadoop的架構思想。

Hadoop的設計思想是把注冊表分片存儲,分布式存儲在多臺機器上,每臺機器存儲部分注冊表數據。

然后每個Server可以加上一個從節點做熱備份,避免單機掛掉導致注冊 表數據丟失。

我們來看看架構圖,如下所示:

實際在生產環境使用Eureka的時候,你還會碰到很多現實的問題。

比如說上面講了,Eureka本身是基于簡單的同步機制實現集群架構的,但是這里在集群之間進行同步的時候,其實是異步進行的,采用的是最終一致性的協議。

這就可能會導致說,你某個服務注冊到了一個Eureka Server實例上去,但是他需要異步復制到其他的Eureka Server,這中間是需要時間的。

所以可能導致其他的Eureka Server是看不到那個剛新注冊的服務實例的。

大家看下面的圖,就示意了這個問題:

但是如果是采取了類似Hadoop的那種數據分片思想的話,一個注冊表數據分片就在一臺機器上,由這臺機器負責提供服務的注冊和發現,那么此時就可以實現強一致的效果。

也就是說,只要你注冊了,立馬就會被別人發現,如下圖。

這里只是說其中幾個例子罷了,改造開源系統的思路是很多的,實際上大廠完全可以對開源技術做很多的自研、定制和改造,解決線上的生產問題,讓服務注冊中心朝著他們心里期望的效果去發展,所以對他們來說其實問題并不大。

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

只是對于很多中小型公司而言,可能本身沒有基礎架構團隊的支撐,或者是沒有過多的人力物力投入到自研中間件、開源系統二次開發中去。

那么此時就可以考慮選擇其他的開源服務注冊中心的技術了,比如Spring Cloud同樣支持的Consul就是目前很多公司的選擇。

這兒咱們簡單介紹一下Consul,后面可以考慮再寫文章介紹介紹Consul的架構原理和使用什么的,大家看一下,可以作為一個服務注冊中心技術選型的參考:

  • 服務注冊與發現

(1)Consul當然是可以作為服務注冊中心的了,可以用做微服務架構的服務注冊和發現。

(2)同時這里可以先給大家說一下,Consul的服務注冊機制選擇的是基于Daft協議的強一致,沒有像Eureka那樣使用最終一致的效果。

  • 健康檢查

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

(2)簡單來說就是不停的發請求給你的服務檢查他到底死了沒有,目前是否還健康,這個就是叫做健康檢查。

  • kv存儲

(1)Consul不光支持服務注冊和發現,居然還可以支持簡單的kv存儲。

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

  • 安全的服務通信

(1)Consul支持讓你的服務之間進行授權來限制哪些服務可以通信和連接。

  • 多數據中心支持

其實說實話,在做技術選型的時候,非常關鍵的一點,就是看社區是否活躍。

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

我們明顯會發現,Eureka 1.x版本最近的更新都在幾個月前甚至幾年前,但是Consul最近的更新很多都是幾天前的。

所以本身Spring Cloud官方技術棧也是支持Consul的,Eureka開源社區慢慢不再活躍之后,自然很多中小公司開始選擇使用功能更加強大,而且社區更新也更加活躍的Consul作為服務注冊中心了,這也是一個不錯的選擇。

責任編輯:姜華 來源: 今日頭條
相關推薦

2021-05-28 06:19:22

ZooKeeperConsulNacos

2020-06-29 07:58:18

ZooKeeperConsul 注冊中心

2023-09-05 07:47:14

.NET 7.0內存緩存

2021-01-28 11:40:34

Dubbo異步配置

2021-11-30 10:38:09

splitStringTokenJava

2017-06-25 13:33:25

Spring Clou微服務架構

2021-08-30 19:00:46

靜態CompletableCountDownLa

2022-02-14 23:43:33

大數據風險數據

2014-11-28 16:04:36

浪潮

2022-03-24 10:54:33

Piwigo開源

2022-02-09 07:44:30

Go源碼工具

2014-02-21 15:17:23

云存儲Time Machin

2022-01-26 07:18:57

工具GoGo 項目

2023-05-30 14:54:17

Python循環語句工具

2024-03-11 08:21:49

2023-08-01 07:45:52

2021-09-30 16:17:42

開源軟件視頻通話視頻會議

2010-03-03 14:36:01

Linux bridg

2021-01-05 08:35:24

GNU nanoVim編輯器

2018-08-30 15:48:43

ConsulSpring Clou開源
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产亚洲欧美日韩精品一区二区三区 | 国产精品久久午夜夜伦鲁鲁 | 91久久国产综合久久 | 国产一区在线免费观看 | 成人av免费播放 | 欧美电影大全 | 国产一区二区三区在线 | 日韩视频在线一区 | 国产三级一区二区三区 | 精品精品 | 国产四虎 | 日韩午夜影院 | 曰韩三级 | 国产精品日本一区二区不卡视频 | 日韩欧美精品一区 | 91麻豆精品国产91久久久更新资源速度超快 | 国产精品一级在线观看 | 91免费版在线观看 | 日韩av一区二区在线观看 | 国产精品一区二区在线 | 日韩a | 国产精品一区二区三区免费观看 | 中文字幕在线一区二区三区 | 欧美日韩成人在线 | 国产欧美在线播放 | 亚洲欧美激情精品一区二区 | 黄网免费 | av黄色在线观看 | 婷婷久久网 | 国产精品久久久久久久久久久久久 | 精品乱子伦一区二区三区 | 国产成人高清 | 国产成人自拍一区 | 成人一区二区三区在线观看 | 国产精品久久 | 久久国产精品视频 | 久草新在线 | 亚洲精品久久久久中文字幕欢迎你 | 中文字幕一区在线观看视频 | 91啪影院 | 久久久久一区二区三区四区 |