由于第一次在生產(chǎn)項(xiàng)目中使用分布式服務(wù)框架躲叼,在這方面缺少經(jīng)驗(yàn)奏纪。因此對(duì)分布式服務(wù)做了一些研究和實(shí)踐晓褪,在此通過(guò)“九周九分布式服務(wù)”系列文章做一個(gè)總結(jié)和分享挺智。為什么是叫“九周九分布式服務(wù)”呢?很簡(jiǎn)單疼约,在模仿“七周七”系列叢書的命名卤档。為什么我選擇了“九”而不是其他的數(shù)字,因?yàn)椤熬啪艢w一”有歸根到底程剥,探尋事物本質(zhì)的意思劝枣,更能表達(dá)我對(duì)此系列文章的定位,希望能從更深層次上說(shuō)清楚分布式服務(wù)织鲸。本文是序不算做其中一篇舔腾,未來(lái)九周會(huì)有九篇文章發(fā)布。下面先簡(jiǎn)單介紹一下分布式服務(wù)搂擦,并做一個(gè)簡(jiǎn)單預(yù)告稳诚。
分布式服務(wù)的前世今生
隨著公司業(yè)務(wù)的不斷發(fā)展,和所有的公司一樣到了一個(gè)階段瀑踢,分布式服務(wù)框架也逐漸被引入到項(xiàng)目開發(fā)中扳还。一個(gè)公司系統(tǒng)應(yīng)用的架構(gòu)發(fā)展一般都是下面的一個(gè)歷程:
從一體化的垂直應(yīng)用架構(gòu)到業(yè)務(wù)分層的RPC架構(gòu)再到面向服務(wù)的SOA架構(gòu),然后就是最近特別流行的架構(gòu)風(fēng)格微服務(wù)橱夭,未來(lái)可能還有智能化架構(gòu)模型氨距,也不一定。那時(shí)棘劣,程序員的大部分工作將自動(dòng)化俏让、智能化!相信未來(lái)是美好的茬暇!未來(lái)的事先放一放首昔,說(shuō)說(shuō)為什么應(yīng)用架構(gòu)不斷發(fā)展,其核心推動(dòng)力是提高公共能力的重用性糙俗,減少重復(fù)勞動(dòng)勒奇,滿足人類的懶惰。
分布式服務(wù)框架的功能組成
分布式服務(wù)架構(gòu)是從傳統(tǒng)RPC架構(gòu)發(fā)展過(guò)來(lái)巧骚,隨著RPC框架的不斷推廣赊颠,逐漸暴露很多問(wèn)題,為了解決這些問(wèn)題网缝,分布式服務(wù)在RPC框架的基礎(chǔ)上提供了很多特性:
- 基于注冊(cè)中心的服務(wù)訂閱/發(fā)布機(jī)制
- 支持服務(wù)自動(dòng)發(fā)現(xiàn)
- 自帶負(fù)載均衡
- 集群容錯(cuò)
- 流量控制巨税、服務(wù)分組、服務(wù)多版本
- 故障隔離
- 支持多協(xié)議發(fā)布服務(wù)
- 踐行DevOps思想
- 服務(wù)治理(支持服務(wù)監(jiān)控粉臊、線上治理)
以上這些特性都是作為分布式服務(wù)框架的基本功能草添,不管在實(shí)際開發(fā)中使用哪一種框架,都應(yīng)該包含這些功能扼仲。
分布式服務(wù)框架列表
在java生態(tài)圈中远寸,目前業(yè)界主流的分布式服務(wù)框架抄淑,有以下幾個(gè):
- Dubbo/Dubbox(阿里/當(dāng)當(dāng)開源)
- HSF(阿里商業(yè)版)
- DSF(華為商業(yè)版)
- Coral Service(亞馬遜內(nèi)部)
- Spring Cloud(pivotal開源/商業(yè)版)
我們公司內(nèi)部使用的分布式服務(wù)框架是華為研發(fā)的DSF框架,由于它是商業(yè)版的驰后,在接下來(lái)的文章中有實(shí)例分析或者demo介紹的時(shí)候肆资,我會(huì)采用Spring cloud框架。Spring cloud框架是Spring生態(tài)中的一員灶芝,以后可能是最流行的開源的分布式服務(wù)框架郑原。
九周九分布式服務(wù)預(yù)告
下面列一下系列文章的內(nèi)容預(yù)告,大體的內(nèi)容不會(huì)變夜涕,以后可能由于思路的瞬變犯犁,會(huì)有小的變動(dòng)也是可能的。請(qǐng)感興趣的同學(xué)持續(xù)關(guān)注女器。預(yù)告:
- 九周九分布式服務(wù)-架構(gòu)演進(jìn)
- 九周九分布式服務(wù)-demo
- 九周九分布式服務(wù)-功能架構(gòu)
- 九周九分布式服務(wù)-內(nèi)部通信
- 九周九分布式服務(wù)-特性介紹1
- 九周九分布式服務(wù)-特性介紹2
- 九周九分布式服務(wù)-埋點(diǎn)日志
- 九周九分布式服務(wù)-訪問(wèn)控制
- 九周九分布式服務(wù)-服務(wù)治理
結(jié)束語(yǔ):序就這么多吧酸役。