云架構(gòu)升級,,微服務(wù)落地GIStack for Manager

2020-06-19 23:01:57 sunmedia 2429


? ?談到架構(gòu),,微服務(wù)架構(gòu)已然是時至今日必聊的一個話題,,系統(tǒng)架構(gòu)的選型與是否轉(zhuǎn)型,不應(yīng)該是為了微服務(wù)架構(gòu)而架構(gòu),,而是源于微服務(wù)架構(gòu)自身是否更適合業(yè)務(wù)自身的需求,,微服務(wù)架構(gòu)的優(yōu)勢與所要付出的代價是否值得你,去做一次轉(zhuǎn)變,。?

????GIStack for Manager(捷泰天域睿圖云GIS管理系統(tǒng))在探索,、掙扎、迭代,、醞釀,、分析了很久以后,,勇敢的走向架構(gòu)微服務(wù)化,正在實(shí)現(xiàn)一個GIStack for Manager架構(gòu)的全面升級,。?

????從GIStack for Manger談什么是微服務(wù),?它有什么好處??

????下圖是GIStack for Manager實(shí)現(xiàn)方式示意,,左側(cè)是傳統(tǒng)的整體式架構(gòu)(單個巨型單元),,右側(cè)則是微服務(wù):?


GIStack for Manager實(shí)現(xiàn)方式示意圖


????兩種模式的區(qū)別在于第一種是整體式架構(gòu),只有一個大單元,。第二種則由多個小單元構(gòu)成,,每個小單元都是獨(dú)立的服務(wù)。?

????此圖足夠細(xì)致,,從中很容易找到微服務(wù)模式的吸引力所在:?

????獨(dú)立開發(fā):小型的獨(dú)立組件可由小型的獨(dú)立團(tuán)隊(duì)構(gòu)建,。一個小組可以專門負(fù)責(zé)開發(fā)“Monitor”服務(wù),不用去管其他服務(wù),。每個組件的功能變得簡單,,這樣一來,開發(fā)人員了解組件的時間大大減少,,更容易開發(fā)新功能。?

????獨(dú)立部署:每個單獨(dú)的組件都可以獨(dú)立部署,。這樣一來發(fā)布新功能的速度就更快,,風(fēng)險也更小。假設(shè)“GIS Service”組件修復(fù)了 bug 或者新增了功能,,那么部署時并不會影響其他組件,。?

????獨(dú)立擴(kuò)展:每個組件可以獨(dú)立地進(jìn)行擴(kuò)展。在產(chǎn)品發(fā)布時或者您需要進(jìn)行擴(kuò)展定制時,,如您可以擴(kuò)展“VM Services”組件,,而不必擴(kuò)展所有組件,這樣一來擴(kuò)展更具彈性并且降低了成本,。?

????可重用性:每個組件各自實(shí)現(xiàn)一個小的,、特定的功能。這意味著它們可以很容易地適用于其他系統(tǒng),、服務(wù)或者產(chǎn)品,。組件可以被其他業(yè)務(wù)單元使用,甚至可以改寫成一個新的業(yè)務(wù),,從而為其他組提供轉(zhuǎn)碼服務(wù),。?

????GIStack for Manager如何實(shí)現(xiàn)微服務(wù)??

????微服務(wù)架構(gòu)的關(guān)鍵點(diǎn)就在于如何將分析業(yè)務(wù)與代碼實(shí)現(xiàn)之間的關(guān)系,,將功能拆分成一個個獨(dú)立的單元,,而這個小的單元即為一個微服務(wù),。那么多小的服務(wù)可稱為微服務(wù)呢?是由代碼的行數(shù)決定,、還是重寫的時間,、還是業(yè)務(wù)功能?No,,在進(jìn)行設(shè)計過程中,,我們遵循以下原則:?

????低耦合、高內(nèi)聚:一個服務(wù)完成一個獨(dú)立的功能,,保證服務(wù)的獨(dú)立性和完整性,。?

????按團(tuán)隊(duì)結(jié)構(gòu):小規(guī)模團(tuán)隊(duì)維護(hù),快速迭代,。?

????以下即為GIStack for Manager系統(tǒng)微服務(wù)架構(gòu)粗略實(shí)現(xiàn):?


?GIStack for Manager系統(tǒng)微服務(wù)架構(gòu)


????設(shè)計原則:?

????服務(wù)獨(dú)立性拆分原則:按照不同的服務(wù)功能進(jìn)行拆分,。?

????前后端分離:便于代碼維護(hù)、提高前端用戶優(yōu)化體驗(yàn),。?

????無狀態(tài)服務(wù):有狀態(tài)的業(yè)務(wù)服務(wù)改變?yōu)闊o狀態(tài)的計算類服務(wù),,那么狀態(tài)數(shù)據(jù)也就相應(yīng)的遷移到對應(yīng)的“有狀態(tài)數(shù)據(jù)服務(wù)”中。?

????Restful通信風(fēng)格:無狀態(tài)通信,。?

????微服務(wù)與容器,、DevOps的關(guān)系??

????我相信很多關(guān)注微服務(wù)的讀者們,,經(jīng)??吹轿⒎?wù)與容器、微服務(wù)與DevOps等關(guān)聯(lián)在一起,,那么系統(tǒng)的微服務(wù)架構(gòu)與它們是什么關(guān)系呢,??

????微服務(wù)與容器:完美的一對?

????微服務(wù)技術(shù)和容器技術(shù)很容易勾搭到一起。容器可以實(shí)現(xiàn)服務(wù)發(fā)現(xiàn) ,、負(fù)載均衡,、分布式等特性,容器著眼于部署架構(gòu),,或者說是微服務(wù)的宿主,,負(fù)責(zé)提供所需的容器,具備彈性伸縮能力,。微服務(wù)著眼于應(yīng)用架構(gòu),,負(fù)載掌控應(yīng)用組件間的調(diào)用關(guān)系,通過應(yīng)用組件的編排實(shí)現(xiàn)最終面向用戶的功能,。微服務(wù)架構(gòu)所依賴的彈性,、通信、輕量等需求容器恰好可以完美提供,,因此微服務(wù)與容器可以說是完美的一對,。?

????微服務(wù)與DevOps:患難與共的摯交?

????可以說微服務(wù)與DevOps是一種相輔相成的關(guān)系,,使用微服務(wù),第一步是要構(gòu)建一個一體化的DevOps平臺,,否則,,整個環(huán)境會變得非常的亂,它的架構(gòu)與技術(shù)的復(fù)雜性與快速迭代性,,為整個開發(fā),、測試和運(yùn)維增加很多成本。通過一個DevOps平臺可以幫助開發(fā)者快速打通設(shè)計,、開發(fā),、測試與部署之間的矛盾,實(shí)現(xiàn)快速迭代,。?


????GIStack for Manager在系統(tǒng)實(shí)現(xiàn)過程中,,全面實(shí)現(xiàn)了開發(fā)測試的持續(xù)集成??焖俑M(jìn)需求,,時刻為快速用戶交付進(jìn)行著。?


未知來源
免責(zé)聲明:商媒在線所提供的信息及圖片除原創(chuàng)外,,有部分資訊和圖片從網(wǎng)絡(luò)等媒體收集而來,版權(quán)歸原作者及媒體網(wǎng)站所有,,商媒在線力求保存原有的版權(quán)信息并盡可能注明來源,;部分因?yàn)椴僮魃系脑蚩赡芤褜⒃行畔G失,敬請原作者諒解,,如果您對商媒在線所載文章及圖片版權(quán)的歸屬存有異議,請立即通知商媒在線,,商媒在線將立即予以刪除,,同時向您表示歉意!

最新資訊