網頁

2019/3/15

Spring Boot, Netflix OSS,Spring Cloud Netflix的關係

本篇出於Netflix Technology Blog - Netflix OSS and Spring Boot — Coming Full Circle


TL;DR

簡單說就是Netflix先將自己內部開發的專案開源,通稱Netflix OSS。而Spring社群又利用Spring Boot,Spring Cloud結合Netflix OSS發展了Spring Cloud Netflix。



在2007年的時候,Netflix開始遷往雲端架構,而Netflix的許多後端程式及基礎架構都是以Java設計的,Netflix依此打造了許多雲端架構的函式庫及系統,例如: Ribbon提供負載平衡(load balance), Eureka提供做服務發現(service discovery), Hystrix提供容錯機制(fault tolerance.)。 要將這些部件連結起來,所以有了Governator提供依賴注入(dependency injection)及生命週期管理, Archaius提供配置管理API(configuration management api)。

Netflix在2012年的時將以上軟體開源。

在社群的貢獻下,Spring Cloud Netflix在2015年來到了1.0版,其利用Spring BootNetflix OSS的各元件連接起來,取代了原本Netflix內部的解決方案。 從此以Spring Boot搭配Netflix OSS元件的方式逐漸變成社群偏好的開發方式。

因此Netflix從2018年開始也逐漸以Spring Boot作為其Java核心框架,並採用社群在Spring Cloud Netflix的貢獻。


為什麼Netflix在投資了許多資源在內部的解決方案後,最後仍採用Spring Boot? 在2010年初,Netflix對雲端架構的關鍵需求為可靠性(reliability),可擴展性(scalability),高效能(efficiency)及資訊安全(security)。在當時並沒有適合的解決方案,所以Netflix只能內部自行開發。

到了2018年,Spring的進展已經可滿足Netflix的需要,而且部分也採用了Netflix自身的方案(Netlfix OSS),有些功能甚至超過了Netflix原本的需求。例如Spring Data提供對資料存取的良好體驗,Spring Security提供資訊安全管理,Spring Cloud AWS提供雲端服務整合等。

因Spring的發展非常契合於Netflix的需求,又Spring有能力提供良好的說明文件,持續支援的抽象介面及API。並與社群一起提供品質良好的實作。因此Netflix計畫將基礎設施更進一步的往Spring模組靠攏。



參考:

沒有留言:

張貼留言