1. 程式人生 > >Hystrix停止開發,我們該何去何從?

Hystrix停止開發,我們該何去何從?

是的,Hystrix停止開發了。官方的新聞如下:

考慮到之前Netflix宣佈Eureka 2.0孵化失敗時,被業界過度消費(關於Eureka 2.x,別再人云亦云了!),為了防止再度出現類似現象,筆者編寫了這篇文章。

我相信看到這篇文章,大家無非會思考幾個問題:

  • 如果Hystrix還能不能繼續用於生產?
  • Spring Cloud生態中是否有替代實現?

下面依次展開:

就筆者經驗來看,Hystrix是比較穩定的,並且Hystrix只是停止開發新的版本,並不是完全停止維護,Bug什麼的依然會維護的。因此短期內,Hystrix依然是繼續使用的。

但從長遠來看,Hystrix總會達到它的生命週期,那麼Spring Cloud生態中是否有替代產品呢?

答案顯然是有。

Alibaba Sentinel

Sentinel 是阿里巴巴開源的一款斷路器實現,目前在Spring Cloud的孵化器專案Spring Cloud Alibaba中,預計Spring Cloud H系列中可以孵化完成。

儘管Sentinel尚未在Spring Cloud專案中孵化完成,但Sentinel本身在阿里內部已經被大規模採用,非常穩定。因此可以作為一個較好的替代品。

Resilience4J

Resilicence4J 在今年的7月進入筆者視野,小玩了一下,覺得非常輕量、簡單,並且文件非常清晰、豐富。個人比較看好,這也是Hystrix官方推薦的替代產品

不僅如此,Resilicence4j還原生支援Spring Boot 1.x/2.x,而且監控也不像Hystrix一樣弄Dashboard/Hystrix等一堆輪子,而是支援和Micrometer(Pivotal開源的監控門面,Spring Boot 2.x中的Actuator就是基於Micrometer的)、prometheus(開源監控系統,來自谷歌的論文)、以及Dropwizard metrics(Spring Boot曾經的模仿物件,類似於Spring Boot)進行整合。

筆者特別看重Resilience4J和micrometer整合的能力,這意味著:如果你用Spring Boot 2.x並在專案中引入Resilience4J,那麼監控資料和Actuator天生就是打通的!你不再需要一個專屬的、類似於Hystrix Dashboard的東西去監控斷路器。