- Spring Cloud微服務(wù)架構(gòu)實戰(zhàn)
- 陳韶健
- 1194字
- 2020-05-09 11:15:10
寫在前面的話
兩年前,我與我的一些同事談起微服務(wù)時,有很多人對微服務(wù)還不甚了解,而部分有所了解的人對其持觀望的態(tài)度,現(xiàn)在,微服務(wù)架構(gòu)已經(jīng)成為一家公司技術(shù)是否先進、是否具有規(guī)模發(fā)展的標桿配置。
在這個到處充滿著云計算、大數(shù)據(jù)、AI智能的時代,如果開發(fā)的應(yīng)用不能容易地上云,那必定是落后的。云原生,是當前技術(shù)的一個流行語,簡單來說,就是面向云的應(yīng)用設(shè)計和開發(fā)。微服務(wù)不但是云原生的一個基本內(nèi)容,也是實現(xiàn)云原生的一個“得力干將”??梢赃@么說,談起云原生,沒有微服務(wù)是不行的。當然,云原生不僅僅指微服務(wù)。微服務(wù)這種分布式的架構(gòu)設(shè)計,正是建設(shè)云原生體系的基礎(chǔ)。
其實說到底,所有這些很“新潮”的概念中,分布式占據(jù)著很大的份量,但它并不是一個新概念。區(qū)塊鏈之所以能夠發(fā)展神速并得到大家的推祟,其本質(zhì)之一就是使用了分布式存儲技術(shù)。
有人認為微服務(wù)也不是一個新東西,它其實就是一種分布式的架構(gòu)設(shè)計。確實,微服務(wù)就是一種分布式架構(gòu)的設(shè)計方法。但是,在微服務(wù)概念還沒有出現(xiàn)之前,為什么分布式這個概念并不能引起人們的強烈關(guān)注呢?甚至現(xiàn)在也一樣,如果說自己擅長分布式架構(gòu)設(shè)計,可能沒有多少人理你,但如果說自己精于微服務(wù)架構(gòu)設(shè)計,情況那就大不一樣了。
微服務(wù)可以緩解程序員的壓力,提高開發(fā)效率,加速迭代的過程,是最適合敏捷開發(fā)的方法。另外,微服務(wù)能夠快速響應(yīng)需求的變化、能夠分布式發(fā)布,最適合于云計算部署、實現(xiàn)彈性伸縮控制,以及滿足無限擴展的業(yè)務(wù)需求,所以,微服務(wù)能夠創(chuàng)建一個“打不垮”的系統(tǒng)。
微服務(wù)雖然有很多實現(xiàn)技術(shù),如Service Comb、Service Mesh,等等,但是,Spring Cloud還是獨占鰲頭、獨領(lǐng)風騷。因為Spring Cloud提供了服務(wù)治理、負載均衡、動態(tài)路由、輕量調(diào)用、降級調(diào)用和故障轉(zhuǎn)移等一系列機制,使微服務(wù)從開發(fā)到運維管理都變得更加容易管控和實現(xiàn)。而且,Spring Cloud及其整個框架體系,如Spring MVC、Spring Boot等都是開放式的開源框架,所以其第三方支持也相當豐富,這是一個龐大的微服務(wù)技術(shù)生態(tài)體系。因此,微服務(wù)使用Docker引擎,使用Kubernetes部署工具,使用Jenkins自動構(gòu)建工具,也就得心應(yīng)手,水到渠成了。而使用微服務(wù)架構(gòu)設(shè)計的系統(tǒng),在進行CI/CD,即持續(xù)交付與持續(xù)集成的過程中,在DevOps的管理機制中,均能發(fā)揮它的獨特優(yōu)勢。
想想看,在我們按產(chǎn)品需求進行一系列的設(shè)計和開發(fā),或者說由市場部門提出了一個新的需求或變更之后,開發(fā)人員只需完成代碼的實施與驗證并提交,接下來的測試和部署流程就可以全部實現(xiàn)自動管理,這是一件多么激動人心的事情??!
再說服務(wù)器壓力,微服務(wù)不但有服務(wù)降級機制,還有自動負載均衡管理機制。更為甚者,如果我們的服務(wù)器資源充足,還可以設(shè)定自動彈性伸縮管理機制,由訪問壓力自動控制微服務(wù)部署的規(guī)模。
所以,我是帶著一種非常喜悅的心情完成《Spring Cloud微服務(wù)架構(gòu)實戰(zhàn)》這本書寫作的。我與眾多讀者一樣,期待這本書能夠早日出版,讓我們一起在未來的設(shè)計和開發(fā)工作中,更加愉快地工作,創(chuàng)造更加激動人心的未來。
陳韶健
2019/12/30
于深圳羅湖圖書館
- Intel FPGA/CPLD設(shè)計(基礎(chǔ)篇)
- 深入淺出SSD:固態(tài)存儲核心技術(shù)、原理與實戰(zhàn)(第2版)
- Hands-On Machine Learning with C#
- Visual Media Processing Using Matlab Beginner's Guide
- Practical Machine Learning with R
- Machine Learning with Go Quick Start Guide
- OpenGL Game Development By Example
- 深入理解序列化與反序列化
- Internet of Things Projects with ESP32
- RISC-V處理器與片上系統(tǒng)設(shè)計:基于FPGA與云平臺的實驗教程
- 單片機技術(shù)及應(yīng)用
- 圖解計算機組裝與維護
- Arduino項目開發(fā):智能生活
- The Artificial Intelligence Infrastructure Workshop
- Intel FPGA權(quán)威設(shè)計指南:基于Quartus Prime Pro 19集成開發(fā)環(huán)境