讀古今文學網 > Spring Boot實戰 > >

2014年春天,Netflix的交付工程團隊開始著手實現一個偉大的目標——通過一個軟件平台來實現端到端的全局持續交付,該平台有利於系統的可擴展性及彈性。為了滿足Netflix的交付與部署需要,我的團隊曾構建了兩套不同的應用程序,但這兩套應用程序都有演變成龐然大物的趨勢,而且都沒能滿足靈活性和彈性的目標。更重要的是,這些龐大的應用程序最終還拖了我們的後腿,讓我們跟不上合作夥伴的創新步伐。用戶開始迴避我們的工具,而不是使用它們。

很明顯,如果想要向公司證明自己的真正價值並快速創新,我們需要把龐然大物分解成小的獨立服務,這些服務要能隨時發佈。擁抱微服務架構給我們帶來了希望,讓我們能實現靈活性與彈性的雙重目標。但是我們需要在一個可靠的基礎上實現這一架構,它要能實現真正的並發、合理的監控、可靠易用的服務發現,運行時還要有極好的性能。

我們要在JVM上尋找一款框架,它要直接提供快速開發的能力和強大的運維能力。最終,我們找到了Spring Boot。

Spring Boot能用寥寥數行代碼構建一套基於Spring並滿足生產要求的服務,不費吹灰之力!實際上,一個簡單的Spring Boot Hello World應用程序能放進一條推文裡,這在短短幾年之前還是完全不可能的事情。它還自帶了不少非功能性的特性,比如安全、度量、健康檢查、內嵌服務器和外置配置,這些都讓選擇Spring Boot成為了一件順理成章的事情。

然而,踏上Spring Boot之旅後,我們卻發現手頭沒有好的文檔。要搞明白怎麼利用好框架的特性,只能依靠源碼,這可不是個讓人愉快的辦法。

Manning那本著名的《Spring實戰》的作者再度接受挑戰,將Spring Boot的核心用法寫成了另一本好書,對此我一點都不吃驚。毫無疑問,Craig和Manning的團隊又做成了一件了不起的大事!正如我們所料,《Spring Boot實戰》是一本通俗易懂的好書。

從第1章引人入勝的介紹以及富有傳奇色彩的90字符推文應用程序,一直到第7章對Spring Boot的Actuator(提供了很多生產應用程序所需的神奇的運維特性)的深度分析,《Spring Boot實戰》做到了知無不言,言無不盡。實際上,對我而言,第7章對Actuator的深度分析解答了不少問題,這些問題自一年多以前我開始使用Spring Boot後,就一直縈繞在我的腦海裡。第8章對部署選項的透徹研究讓我大開眼界,瞭解到Cloud Foundry在雲部署方面是如此簡便。第4章是我最喜歡的章節之一,Craig揭示了很多強大的選項,它們能很方便地測試Spring Boot應用程序。從一開始我就驚喜於Spring的測試特性,而Spring Boot將它們發揮得淋漓盡致。

正如上文中我所說的那樣,Spring Boot正是十幾年來Java社區所探尋的那種框架。它那簡單易用的開發特性和開箱即用的運維能力,讓Java開發再度趣味橫生。我欣然向大家宣佈,Spring和Spring Boot已經成為了Netflix新持續交付平台的基礎。而且,Netflix的其他團隊也參考了我們的做法,因為他們也看到了Spring Boot的巨大益處。

我懷著興奮與激動的心情,向大家強烈推薦Craig的書。作為Spring Boot的文檔,本書可謂通俗易懂、趣味橫生,是Spring Boot征服Java社區後,大家翹首以盼的佳作。Craig淺顯易懂的寫作風格,對Spring Boot核心特性與功能的全面分析,一定能讓讀者對Spring Boot有個徹底的認識(而且在滿心歡喜的同時還肅然起敬)。

Craig加油!Manning出版社加油!那些開發出Spring Boot的天才開發者們加油!請你們一定堅持下去!正是你們確保了JVM的光明未來。

Andrew Glover

Netflix交付工程團隊經理