精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

微服務后如何做一次系統梳理

責任編輯:editor005

2017-09-19 14:55:40

摘自:開源中國

微服務的主要目的是將原本獨立的系統拆分成多個小的,有獨自進程運行的,同時這些小的服務單元之間通過RPC或者HTTP協議來相互通訊協作。

微服務的主要目的是將原本獨立的系統拆分成多個小的,有獨自進程運行的,同時這些小的服務單元之間通過RPC或者HTTP協議來相互通訊協作。每個獨立的服務單元內部都有自己的數據存儲、業務邏輯開發和自己的運維部署機制。我們在享受著微服務化后帶來的靈活性便利的同時,對我們的運維和服務治理也提出了新的挑戰。從早先單體應用中的代碼依賴,變成了通信依賴。我們就不得不考慮以下問題,比如網絡延遲、分布式事務、異步消息等等。

1、系統分類與演進

1.1、系統分類

我們的系統如果按照功能劃分的話,大概有如下三類系統。

第一類是接口服務系統,這類系統是提供外部接口比如JSF(京東自研RPC框架)、HTTP接口、hession接口等,這些接口有讀,有寫,尤其是寫接口,要考慮好寫的冪等性操作,讀天然是冪等的,做好防刷即可。

第二類是網頁類系統,用戶直接使用網頁,那么網頁上的數據區域來源,就要分清楚,一張網頁上面的數據從好多個源頭過來,每個源頭下面都有多個系統來支撐,如果一份數據來自多個渠道,需不需合并,都是要考慮的。

第三類是任務類系統,比如我們常見的統計、數據同步等功能的系統。這類系統要考慮任務是熱備還是冷備,多數都是熱備,此種情況下就需要考慮好分布式是任務調度的問題,資源分配,計算的準確性等。

每種系統對應的梳理方式又是不同的。

1.2、系統演進

微服務后如何做一次系統梳理

  系統演進圖.png

系統架構變化也是與時俱進的,早期的單體系統跟現在大家踐行的微服務化系統,在系統梳理上以及治理上也是完全不同。上圖是一個系統架構的演進(圖參照:《分布式服務框架》1.5章節)

2、梳理目的要搞清楚

每一年618和雙11之前,備戰開始,我們都要對所有的系統做一次梳理。那么每一次梳理的目的,就是要找出系統薄弱點。現在系統多了,系統里面的業務也變得復雜了。不過沒有關系,還是那句老話,打蛇打七寸,利用二八原理。集中精力到最重要的環節。另外80%不是說就不管了,這里面的業務可以走限流或者降級處理,當然也是要梳理的。只不過要有輕重之分。

3、如何做

我們要從大的方面梳理出一個系統包含哪些功能,這些功能里面哪些是核心功能也叫做黃金功能。同時從小的方面,對已經梳理出的核心功能,我要再梳理出這些功能對應的流程上包含的各個節點。每個節點要找出強依賴和弱依賴。強依賴,是說少了這個依賴功能不能完成,那么就要準備容災方案,也就是比如依賴的DB掛了,那么我們可以用開關切到MQ里面。弱依賴,則是不影響功能使用的依賴,比如插入ES記錄日志,那么ES掛掉,我們直接降級就好。

3.1、接口服務類系統

微服務后如何做一次系統梳理

  接口服務類型系統.png

我們要梳理出提供的所有服務接口,找出其中的黃金接口,比如接口1是黃金接口,那么我們就要確保這個接口一定是可用的,如何保證,就是災備。依賴資源比如redis集群,放兩個機房,一個機房兩套。總之這個接口是不可降級的,在不能降級的情況下,就要準備多套方案來確保接口1必須提供服務。

3.2、網頁類系統

微服務后如何做一次系統梳理

  網頁類系統.png

網頁類系統,比如首頁,類目、展示區、導航欄,廣告位,這些都不能掛,首頁是一個網站的臉,企業的臉,一定不能丟臉。每個功能區域對應的信息都要有多級緩存,有托底數據,無論如何都要保證頁面上是有內容的。

3.3、任務類系統

微服務后如何做一次系統梳理

  任務類系統.png

對于任務類系統,一樣,要有分布式worker,切不可以單點。解決方案可以利用zookeeper+定時任務,自己實現,也可以采用開源的方案比如Elastic-Job,

上面的三類系統,在我們現有的結構中均都已微服務化,我們開篇也突出了微服務治理的特點,網絡延遲、分布式事務、異步消息。因此我們針對微服務的梳理也是從這幾個方面入手。關鍵點,就是找出通訊依賴,確定是強依賴,還是弱依賴。

3.4、核心功能的核心流程梳理

梳理出核心功能以后,我們就要開始梳理核心流程,流程的梳理要找出關鍵節點,比如下面這張圖,只是作為舉例使用,一些類名和和字段都用XX代替。關鍵節點,就是我們重點對待的,強依賴哪些資源,弱依賴哪些資源。使用不同顏色標注,比如深黃色表示強依賴,淺綠色表示弱依賴。

微服務后如何做一次系統梳理

  核心流程梳理參照圖.png

4、總結

上面描述的過程中,列舉了系統的分類,系統的演進,流程的梳理。我們的最終目的就是要找出黃金功能,找出黃金流程,流程里面的強依賴和弱依賴。強依賴不可降級必須要有災備方案。做到以上幾點,確保梳理沒有遺漏,無論系統如何演進與變化,我們的服務治理,618和雙11的備戰都能很好的完成!

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 康保县| 平谷区| 徐州市| 安徽省| 曲靖市| 西贡区| 河东区| 炉霍县| 武胜县| 赞皇县| 永年县| 房山区| 汉寿县| 长春市| 文山县| 乐陵市| 蓬安县| 民勤县| 新晃| 洮南市| 鄂尔多斯市| 中西区| 三河市| 湟源县| 重庆市| 清新县| 荣成市| 新沂市| 太保市| 龙门县| 寿阳县| 福贡县| 鲁山县| 任丘市| 孝昌县| 阳春市| 屏山县| 永平县| 资中县| 西宁市| 祁连县|