注冊用戶即可下載全站資源 關注Java幫幫微信公眾號
 

單體轉向微服務架構-基礎篇

4
發表時間:2018-11-08 13:48來源:Java幫幫-微信公眾號


前言

日本韩国三级aⅴ在线观看目前從事于教育行業,盡管如今用戶量并不是特別多,但我們的產品有點龐大。基于目前的單體架構,有眾多的弊端,由于前期用戶量并不多,產品迭代不是很頻繁,相應的問題并沒有凸顯。但是隨著團隊越來越大,相應的溝通成本、管理成本、人員協調成本顯著增加。引起缺陷的原因組合多,導致分析、定位、修復缺陷的成本響應增高。在自動化測試機制不完善的情況下,易導致“修復越多,缺陷越多”的惡性循環。

日本韩国三级aⅴ在线观看我們一直正在關注當前的流行趨勢,并試圖從單體轉向微服務架構。鑒于人員配比以及開發周期,我們不可能推到重構。

那么如何使用微服務改造遺留系統,我們基于以下幾點考慮:

  • 最小修改

  • 功能剝離

  • 數據解耦

  • 迭代替換

日本韩国三级aⅴ在线观看首先,我們整理邊緣業務,把后端服務抽離出來。新的框架使用SpringBoot + JPA(相對來說,我們有一套快速開發的腳手架);由于是前后端分離,認證采用相對簡單的JWT;鑒于后期會拆分為多個服務,這里使用Zuul作為網關,Eureka作為服務注冊中心。

Spring Cloud

Spring Cloud基于Spring Boot實現,使用HTTP的RESTful風格API作為調用方式。它所包含的多個子項目共同構建了微服務架構體系。


Spring Boot

在使用Spring開發時,通常需要完成Spring框架及其他第三方工具配置文件的編寫,非常麻煩。Spring Boot通過犧牲項目的自由度來減少配置的復雜度,約定一套規則,把這些框架都自動配置集成好,從而達到“開箱即用”。

Netflix Eureka

Spring Cloud 的服務注冊中心提供服務注冊、服務發現、負載均衡等功能。

Netflix Hystrix

日本韩国三级aⅴ在线观看當某個服務發生故障之后,則觸發熔斷機制(Hystrix)向服務調用方返回結果標識錯誤,而不是一直等待服務提供方返回結果,這樣就不會使得線程因調用故障服務而被長時間占用不釋放,避免了故障在分布式系統中的蔓延。

Netflix Zuul

日本韩国三级aⅴ在线观看代理各模塊提供的服務,統一暴露給第三方應用。提供動態路由、監控、彈性、全等的邊緣服務。

Config Server

分布式架構下多微服務會產生非常多的配置文件,分布式配置中心(Config Server)將所有配置文件交由GIT或SVN進行統一管理,避免出錯。


支付寶贊助-Java幫幫社區
微信贊助-Java幫幫社區
Java幫幫公眾號生態

Java幫幫公眾號生態

總有一款適合你

Java幫幫-微信公眾號

Java幫幫-微信公眾號

將分享做到極致

Python幫幫-公眾號

Python幫幫-公眾號

人工智能,爬蟲,學習教程

大數據驛站-微信公眾號

大數據驛站-微信公眾號

一起在數據中成長

九點編程-公眾號

九點編程-公眾號

深夜九點學編程

程序員生活志-公眾號

程序員生活志-公眾號

互聯網,職場,程序員那些事兒

Java幫幫學習群生態

Java幫幫學習群生態

總有一款能幫到你

Java學習群

Java學習群

與大牛一起交流

大數據學習群

大數據學習群

在數據中成長

九點編程學習群

九點編程學習群

深夜九點學編程

python學習群

python學習群

人工智能,爬蟲

測試學習群

測試學習群

感受測試的魅力

Java幫幫生態承諾

Java幫幫生態承諾

一直堅守,不負重望

初心
勤儉
誠信
正義
分享
合作品牌 非盈利生態-優質內容分享傳播者
關于我們
友鏈申請
友鏈交換:加幫主QQ2524138991 留言即可 24小時內答復  
全站內容非商業用途,內容來源于網友,并遵循 許可,如有異議請聯系客服。
會員登錄
獲取驗證碼
登錄
登錄
我的資料
留言
回到頂部