接下來,就是把微智能思想和擬社會化分布式設計統(tǒng)一起來,構(gòu)建微服務計算平臺的計算節(jié)點抽象模型。它遵循以下原則:
服務能力是實現(xiàn)業(yè)務邏輯的唯一方式,每種能力只包含一種業(yè)務邏輯
服務能力的實現(xiàn)方式遵守同一套技術實現(xiàn)框架,只有業(yè)務邏輯的差別,而運行機制,運維機制完全相同
每個計算節(jié)點是對等的,只有計算資源占用的差別,而運行機制,運維機制等完全相同
計算節(jié)點的分工由服務能力決定,部署的計算節(jié)點至少包含一種服務能力
計算節(jié)點的實現(xiàn)遵守同一套技術實現(xiàn)框架,且這套實現(xiàn)框架提供運行服務能力的容器
計算節(jié)點集群的構(gòu)建方式是自動發(fā)現(xiàn)的,集群元數(shù)據(jù)的維護是由計算節(jié)點集群自我維護的
服務能力的發(fā)現(xiàn)方式是自動發(fā)現(xiàn)的,服務調(diào)用元數(shù)據(jù)的維護是由計算節(jié)點集群自我維護的
服務調(diào)用過程應具備自適應能力,盡最大可能保證服務調(diào)用通暢,在面對風險時,能夠有一定的自主處理能力
允許服務能力的集成與編排,服務編排后的運行過程具備應對異?;蝻L險的自適應性。
計算節(jié)點抽象模型:

服務能力是一種計算能力,分為基礎服務能力和業(yè)務服務能力。
基礎服務能力是構(gòu)建計算平臺的前提,也提供了對計算平臺服務調(diào)用,監(jiān)控,運維的支持?;A服務能力實際上是整個計算平臺的基石,會在以后的分享專題中逐個展開說明。
業(yè)務服務能力是根據(jù)實際業(yè)務需求實現(xiàn)的服務能力
按照以上原則,服務計算節(jié)點還提供了三類基礎支持:
服務能力的生命周期管理:

值得注意的是,服務能力可以被裝配或卸載,這個過程分為Soft模式和Hard模式。Soft模式是通過配置的方式,服務能力的實現(xiàn)(例如jar包)還存在;Hard模式就是配置與實現(xiàn)一起裝配或卸載。實際應用中,Soft模式更加靈活,服務能力實現(xiàn)的變更可以交給節(jié)點升級來做。
服務能力實現(xiàn)框架: 為實現(xiàn)業(yè)務邏輯提供一套統(tǒng)一的編程和運行框架。
組件化管理支持: 服務能力在業(yè)務層面是原子,但在實現(xiàn)層面可以分解為組件,組件是具備特定邏輯又具備通用邏輯的代碼。
常用的編程組件的支持: 保持統(tǒng)一的,標準的技術棧,也加速服務能力的開發(fā)。一般包括:定時任務,HTTP服務端,HTTP客戶端,內(nèi)存隊列異步處理,多線程或并行編程支持。當然通訊層面是根據(jù)實際選型來定,我們以HTTP作為標準通信。
計算節(jié)點自身管理: 為了實際運行和運維需要而提供的支持。
元數(shù)據(jù)管理: 比如每個計算節(jié)點需要一個唯一的ID來標識自己(就像人的身份證),通過它第一次運行來創(chuàng)建,且持久化起來以便再次運行時能夠保持ID不變;有些服務能力運行是會產(chǎn)生臨時文件,這就需要計算節(jié)點提供一個“場所”(臨時目錄)供其施展。
節(jié)點自動升級/回滾: 這個是所有分布式系統(tǒng)中最重要的特性之一,它能大大提升變更大規(guī)模節(jié)點的效率,在微服務架構(gòu)下尤其適合。這個變更過程包含兩個方面:計算節(jié)點配置以及實現(xiàn)的變更,服務能力配置以及實現(xiàn)的變更。
節(jié)點的配置管理: 負責提供實際的配置讀取/改寫接口,以及將自身和服務能力的運行時的配置持久化等。
當然計算節(jié)點自身管理包含工作有很多擴展,要根據(jù)實際需求定義。
’
三、打造微服務計算的基礎三件事
微服務計算平臺實現(xiàn)服務治理首先要解決三個基礎:服務注冊與發(fā)現(xiàn),服務監(jiān)控,服務調(diào)用控制。
1
服務注冊與發(fā)現(xiàn)
1 )服務注冊
經(jīng)典的服務注冊方法有以下兩種:
顯式配置: 人工將服務的接口信息(服務名,服務URI等)配置到服務注冊中心。WebService UDDI就是這種模式。它的問題是需要人工收集服務接口信息,這個過程可能產(chǎn)生滯后或者錯誤的信息,運維代價大。
代碼實現(xiàn): 調(diào)用服務注冊中心客戶端發(fā)送服務的接口信息到服務注冊中心。典型用例是基于Zookeeper服務注冊。它的優(yōu)勢是服務接口的URI可能是通過代碼收集出來的,較人工收集更加自動化。