說在前面 大概是三年前,因一些原因公司原項目最初為單體結構部署,所有業務模塊都在一個項目裡面,而後隨著業務的不斷膨脹以及模塊之間的耦合,導致後面增加或修改一些簡單業務時的成本都會變的極大。新入職的同事更是苦不堪言,學習代碼的成本極高。基於這些原因,就開始了後面漫長的架構改造旅途。 這麼多微服解決方案 ...
說在前面
大概是三年前,因一些原因公司原項目最初為單體結構部署,所有業務模塊都在一個項目裡面,而後隨著業務的不斷膨脹以及模塊之間的耦合,導致後面增加或修改一些簡單業務時的成本都會變的極大。新入職的同事更是苦不堪言,學習代碼的成本極高。基於這些原因,就開始了後面漫長的架構改造旅途。
這麼多微服解決方案,到底選哪個?
1.介紹
-
Motan 微博內部使用的 RPC 框架,於 2016 年對外開源。後來在 Motan Agent 的基礎上演化出了 WeiboMesh,這裡暫時不展開說Motan GitHub
-
Dubbo 阿裡巴巴開源,一款高性能、輕量級的開源Java RPC框架,它提供了三大核心能力:面向介面的遠程方法調用,智能容錯和負載均衡,以及服務自動註冊和發現。曾經有很長一段時間未維護,現已貢獻至Apache基金會孵化。附上鏈接Dubbo官網
-
SpringCloud 由Pivotal 公司 2014 年開源,利用 Spring Boot 特性整合了開源行業中優秀的組件(如Netflix相關組件),整體對外提供了一套在微服務架構中服務治理的解決方案。與Dubbo都經常被使用且比較,這次主要是基於SpringCloud基礎組件集成
-
Kubernetes 全新的基於容器技術的分散式架構方案。用於管理雲平臺中多個主機上的容器化的應用,Kubernetes的目標是讓部署容器化的應用簡單並且高效(powerful),Kubernetes提供了應用部署,規劃,更新,維護的一種機制
2.對比(話不多說,直接上圖)
3.選擇
很幸運的是,上圖三種技術棧都有用過。算是各有優劣吧,具體還是要結合實際情況去選擇,不過千萬註意的是儘量別混搭(如SpringCloud+K8S或SpringCloud+Dubbo這樣)
後面具體會先圍繞SpringCloud技術棧展開,而後也會記錄下k8s和Dubbo相關的一些東西。這是第一篇,後面開始實戰,以上!
結束
- 關於環境
) - 架構圖
持續學習,記錄點滴。更多文章請訪問 文章首發