02 | 從單體應用到 Service Mesh過程

本文僅作爲學習記錄,非商業用途,侵刪,如需轉載需作者同意。

一、單體服務

內部信息,沒太看得懂,有些地方借鑑下:
在接入層實現了一些通用的邏輯,比如提供統一的認證、頻次控制、黑白名單、降級開關、配置服務等功能。平臺服務內部則通過 Jar 包的方式依賴調用,對外暴露 API 接口。

在這裏插入圖片描述

二、 服務化改造

按照業務模塊進行拆分,業務解耦。

三、RPC服務化

1、HTTP的RESTful接口

好處:http是明文協議,開發調試比較方便,RESTful接口描述也很簡單。
壞處:http協議本身比較臃腫,內部服務的依賴主要解決數據可靠性傳輸的問題,不需要這麼多無用的請求頭。

2、RPC

好處:具有可編程性,可以根據微博業務特性訂製開發,因爲使用私有協議,可以減少每個請求的體量,提高訪問性能。

微博自研rpc框架Motan
在這裏插入圖片描述

四、容器化

自研了公有云和私有云平臺DCP,實現資源的動態擴縮容,結合Motan RPC的服務治理實現對流量的彈性調度。
有了完善的服務治理相關組件,明確的SLA指標,Trace和監控體系。

在這裏插入圖片描述

五、跨語言服務化

跨語言之間的調用通過RESTful接口進行交互,服務調用經過層層轉發,經過繁重的網絡I/O,拖慢了請求耗時,影響系統性能和問題排查,每種語言有自己的一套的系統或者指標,帶來了資源浪費。

下面這種的效果也沒有太好,PHP的PB反序列化耗時很大,也沒有優化很多。
在這裏插入圖片描述

下面這種是service mesh的雛形。
在這裏插入圖片描述

個人感受:不如下掉PHP,還支持幹嘛,換成java或者go都可以啊。這個和有讚的tether是類似的組件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章