當前位置:編程學習大全網 - 源碼下載 - Dubbo、SpringCloud和Kubernetes優缺點

Dubbo、SpringCloud和Kubernetes優缺點

總所周知,Dubbo、SpringCloud和Kubernetes是當前三個主流的開源框架和平臺。

服務化框架和平臺的選擇是搭建微服務的壹個基礎,非常重要。其中Dubbo是阿裏巴巴開源的,SpringCloud是netflix開源的,Kubernetes是谷歌開源的。它們都是分布式微服務框架平臺的壹套解決辦法。值得壹提的是,這3種產品其功能上是有重疊的,部分功能還可能是排他的,所以說不要相互之間進行混搭使用,架構保持壹致性,維護起來也方便。

微服務的最終目的是要實現業務邏輯,實現業務價值。為了讓開發人員更專註於業務邏輯的開發,通常微服務需要底層的基礎設施的支撐,這些基礎設施的支撐稱為微服務公***關註點(Common Concerns)。如下圖所示:

服務發現與負載均衡中,dubbo主要是基於Zookeeper實現的,阿裏還開源了壹個產品Nacos,其功能像Java版的Consul,Nacos後續可能會替換zk成為dubbo首選的服務發現機制。

在API網關中,阿裏沒有開源網關,而K8s中則是定義了名叫Ingress規範,具體可以采用不同的實現,比如說Nginx,Envoy或者Traefik。

在配置管理中,Nacos也具備配置的功能。SpringCloud采用的是Config,其後端是基於Git進行配置管理的。

在服務框架中,K8s是與框架無關的,只認容器,不同的語言棧都可以住在K8s中,這是最大的亮點。

在自動伸縮和自愈方面,K8s具有自動故障和自愈的能力,自動伸縮需要引入額外的組件,完全實現是需要壹定的門檻,感興趣可以關註壹下。

在進程隔離方面,K8s是通過容器進行進程隔離的,同時還引入Pod進壹步對服務進行隔離。

在環境管理方面,K8s是內置Namespace進行邏輯隔離的,可以實現多環境,各個環境可以單獨配置認證授權機制。

在流量治理方面,這裏的流量治理指的是高級的流量調度、A、B和藍綠部署的能力。Dubbo通過zk+client是支持壹定的流量調度能力的。

Dubbo、SpringCloud是框架組件,K8s是平臺。

所以我們在理解服務的關註點,根據企業上下文考量後選擇,盡量不要混搭,保持體系的壹致性。

看了大牛的分析,自己學到了很多。

  • 上一篇:流行病前端源代碼
  • 下一篇:有壹部關於熊的影片叫什麽?
  • copyright 2024編程學習大全網