1. 程式人生 > >Spring Cloud技術棧還沒有學完!Hystrix又雙叒叕停止更新了!

Spring Cloud技術棧還沒有學完!Hystrix又雙叒叕停止更新了!

作者:徐劉根 | 微信公眾號 :Java後端技術(ID:JavaITWork)

今天無意間翻了一下Hystrix程式碼倉庫,無意間看到最近的一條變更,竟然發現Hystrix也不再進行活躍的更新了,停止開發新功能了!後期只是進行維護了!!!

這是繼Eureka之後又一個停止更新的Spring Cloud配套技術!

可悲的是Spring Cloud技術棧的這麼多元件還沒學完,一個接一個的都不再繼續活躍的更新了!突然感覺沒得學了(ps:手動滑稽)!

求求你們別停止更新了!我還能學!我還要學!

一、首先Hystix是什麼?

Hystrix對應的中文名字是“豪豬”,豪豬周身長滿了刺,能保護自己不受天敵的傷害,代表了一種防禦機制,這與Hystrix本身的功能不謀而合,因此Netflix團隊將該框架命名為Hystrix,並使用了對應的卡通形象做作為logo,如下所示:

所謂的熔斷機制和日常生活中見到電路保險絲是非常相似的,當出現了問題之後,保險絲會自動燒斷,以保護我們的電器, 那麼如果換到了程式之中呢?

在一個分散式系統裡,許多依賴不可避免的會呼叫失敗,比如超時、異常等。如何能夠保證在一個依賴出問題的情況下,不會導致整體服務失敗,這個就是Hystrix需要做的事情。

Hystrix提供了熔斷、隔離、Fallback、Cache、監控等功能,能夠在一個或多個依賴同時出現問題時保證系統依然可用。

當現在服務的提供方出現了問題之後整個的程式將出現錯誤的資訊顯示,而這個時候如果不想出現這樣的錯誤資訊,而希望替換為一個錯誤時的內容。

一個服務掛了後續的服務跟著不能用了,這就是雪崩效應!

二、Hystrix停止更新啦!

Hystrix後期不再進行新功能的更新的通知是在9天前的時候,如下是變更的README.md內容:

Hystrix相應的官方介紹相應的變成了如下內容:

重點就是上邊這句話

官方說明最後的一個Release版本v1.5.18已經足夠的穩定,足以勝任我們現在已經存在系統的需求,話雖這麼說,但用著總有點很不舒服,就像前段時間停止開發的Eureka一樣,很多國內的中小公司,沒有技術能力更新維護的,基本也都在找替代的技術方案,相繼的轉向Consul、ZooKeeper、Etcd 等開源中介軟體上去了。

Hystrix的1.0.0版本,於2012年11月22釋出

Hystrix的最後一個版本,2018年11月

六年的時間說散就散,還來不及學一下原理,就不更新了!一聲惋惜,幾聲嘆息!

三、Hystrix官方推薦的替代產品

儘管如此,Hystrix並沒有完全的放棄我們這些伸手黨,Hystrix官方同時也推薦我們使用新一代熔斷器神器Resilience4j。

GitHub地址:

https://github.com/resilience4j/resilience4j

作為新一代的熔斷器,Resilience4j有很多優勢,比如輕量級、依賴少、模組化程度較好、函數語言程式設計等優勢。

Resilience4j官方簡介

說起模組化程度更好這一點,確實不得不佩服Resilience4j,看下程式碼結構對比就可以看出來了,看起來舒服多了,對比如下:

程式碼結構對比,左側為Hystrix,右側為Resilience4j

關於Resilience4j的使用指南,準備後期寫一篇文章探討一下,敬請期待!

四、Spring Cloud該何去何從?

Spring Cloud生態正經歷著一些變化,前有Eureka閉源,後有Hystrix停止開發新功能。

同時,Spring Cloud也從依賴生態夥伴提供關鍵元件,演變到自己開發適配關鍵元件,例如提供了:

  • Spring Cloud Zuul;
  • Spring Cloud Config;
  • Spring Cloud Loadbalance;

等開源產品。

相信這才是Spring Cloud生態的最好姿態,逐漸的整合,才能為更多的開發者提供舒心的服務!

才能少造輪子,才能早下班!才能早下班!才能早下班!

五、Dubbo真香

相比國內的Dubbo來說,更新的正是熱火朝天,也被Apache收了!配套的技術也在不斷地被開源出來供大家學習和使用!

Dubbo是阿里巴巴公司一個開源的高效能服務框架,致力於提供高效能和透明化的RPC遠端服務呼叫方案,以及SOA服務治理方案,使得應用可通過高效能RPC實現服務的輸出、輸入功能和Spring框架無縫整合。

Dubbo特性一覽

下圖是自己珍藏多年的一張RPC完整的呼叫鏈,一般人我真的不告訴他!這可是知識星球的專用圖哦!靠著他我還要升職加薪的!

一個完整的RPC呼叫鏈

Dubbo和阿里巴巴集團內部使用的RPC框架HSF有異曲同工之妙,都可以支撐起我們高併發的業務需求!下圖是一張清晰易懂的架構圖:

Dubbo整體呼叫架構

Dubbo的配套技術,也在不斷的更新演進,諸如:類似Hystrix功能阿里開源的Sentinel,為支援Dubbo生態發展阿里新的開源專案Nacos等。

也相信隨著阿里和Dubbo開源社群的不斷活躍,越來越多的系統會採用Dubbo!早學晚學都要學,為了升職加薪,趁著現在趕緊學!

PS:Dubbo很重要嗎?是的!真的很重要,只要你去面試,如果面試官不問你Dubbo,我可以給你說,這個面試官就不是一個合格的面試官!

Dubbo官網地址,中文的哦!

http://dubbo.apache.org/zh-cn/index.html

六、Spring Cloud Alibaba什麼鬼?

最近的一個關於Spring Cloud的熱門事件就是Spring Cloud for Alibaba了!Spring Cloud 釋出了Spring Cloud Alibaba首個預覽版本:Spring Cloud for Alibaba 0.2.0!

專案地址:

https://github.com/spring-cloud-incubator/spring-cloud-alibaba

Spring Cloud for Alibaba是由一些阿里巴巴的開源元件和雲產品組成的。這個專案的目的是為了讓大家熟知的Spring框架其優秀的設計模式和抽象理念,以給使用阿里巴巴產品的Java開發者帶來使用Spring Boot和Spring Cloud的更多便利。

簡介和主要功能

主要元件

後續計劃

鑑於目前Spring Cloud整合的只有Kafka和RabbitMQ這些訊息佇列,後續將會逐漸整合RocketMQ,SchedulerX以及SLS等也會逐漸考慮進去!

Spring Cloud Alibaba專案將於2019年從孵化器畢業,屆時會正式加入Spring Cloud 正式版本軌道上來!我們這些伸手黨也會更加舒服的敲程式碼!

明天給大家推出Hystrix停止更新之後具體的解決方案!敬請期待!最後祝大家玩得愉快!早點下班!

熱門內容:

1、捐“粑粑”也能賺錢了!

2、線上出故障了!我慌得一匹!

3、【雙11狂歡背後】微服務註冊中心如何承載大型系統的千萬級訪問?

4、Redis熱點Key發現及常見解決方案!

5、Docker的6年之癢!

6、Kafka如何做到1秒處理1500萬條訊息?

7、Redis敢在線上做Keys正則匹配操作!你可以離職了!

8、【面試必問】支撐百萬併發的"IO多路複用"技術你瞭解嗎?