阿里的共享服務體系建設的過程和現狀,和微服務典型特徵不謀而合。
隨著微服務理念的越來越深入人心,加上最近幾年基於容器化技術docker的不斷盛行。在這裡基於微服務架構的典型特徵逐一進行剖析,讓更多計畫構建微服務應用或架構的朋友能更清晰準確的看到微服務建設的本質。
微服務架構的典型特徵:
從本質上來說,微服務是soa的一種演變後的形態
但是和soa也有明顯的差異
1 分布式服務組成,意味著各個系統都將會是有多個分布式的服務組成,而不是傳統soa架構中基於中心化的esb企業服務匯流排
2 按照業務而不是技術來劃分組織以及做有生命的產品而不是專案,傳統soa實施的方式是以專案的方式實施,而不是以做產品的方式讓服務在業務發展過程中快速演化
3 智慧型化服務端點與傻瓜式服務編排 更強調了能力向服務端的遷移,而不是像傳統esb的方式,將整體服務架構中的所有核心能力都執行在esb上
4 自動化運維和系統容錯 這兩點則是在微服務架構建設後,對於整體服務的運維管控和平台高可用性和穩定性方面提出了更高的要求,隨著docker容器技術的不斷成熟和完善,相比於虛擬機器,容器技術的主要差異化優勢在於,能夠包裝,
便於移值,為適合用途而隨需建立,因此減少了資源占用空間,縮短了啟動時間,具有可重複性,提高了伺服器的資源利用率,更好的整合到了整個開發生態系統。所以在企業的應用達到了一定規模後,通過容器化技術,確實能大大提公升運維效率,減少伺服器資源的浪費。
docker實現微服務的難點:
從技術角度,docker完全有能力而且適合微服務體系中給服務提供實際執行容器以及進行部署運維的平台,但是docker本身提供的核心能力還只是在計算資源層,對於微服務架構所需的應用服務層還存在著不小的空缺
1 微服務的應用架構如何進行有效的服務管控,在分布式服務體系下,服務鏈路跟蹤,鏈路分析,實時業務指標的監控等問題
2 分布式事務難題。
3 自動化運維和平台穩定性
微服務 關於微服務的思考
通過kafka進行日誌收集,並結合elk進行日誌聚合 並通過日誌展示平台進行管理 引入elasticsearch 將所有微服務的資料庫需要查詢的資料同步到es中,增刪改仍然保持原有的mybatis運算元據庫 目前微服務之間的呼叫 bff呼叫基礎服務 使用的是rest請求方式,本質上還是http協議,...
關於微服務隨筆總結
關於熔斷器,預設觸發時間為1s,一般公司都設定為5s或者10秒。關於 服務熔斷與服務降級,各種培訓機構都有各自的理解,目前個人比較認可方式為 服務熔斷為非人為操作,即 伺服器響應超時,或者伺服器掛掉了 之後會自動響應。而服務降級即為 例如雙十一,伺服器不夠用,暫時先將某些服務給下線,這種操作就是服務...
微服務 微服務簡介
什麼是微服務 顧名思義,就是粒度較小的服務,不再侷限於系統與系統之間的藉口呼叫,也不侷限於某種具體的服務形式。系統中凡是可被復用的功能模組都可以被 服務化 轉變為 服務 這些服務可以對外暴露,也可能僅限於再系統內部使用。由於服務數量更多,粒度更小,因此管控難度會更大,對效能的要求也更高。微服務的好處...