主流的微服務(wù)框架
目前比較火的主流微服務(wù)框架
- Spring CLoud
- Dubbo
- Istio
一奇徒、背景介紹
1)Spring Cloud , 來自Spring雏亚,具有Spring 社區(qū)的強(qiáng)大支撐,還有Netflix強(qiáng)大的后盾與技術(shù)輸出摩钙。Netflix作為一家成功實(shí)踐微服務(wù)架構(gòu)的互聯(lián)網(wǎng)公司在幾年前就把幾乎整個(gè)微服務(wù)框架棧開源貢獻(xiàn)給了社區(qū)罢低,這些框架開源的整套服務(wù)架構(gòu)套件是Spring Cloud的核心。
- Eureka:服務(wù)注冊發(fā)現(xiàn)框架;
- Zuul:服務(wù)網(wǎng)關(guān)网持;
- Karyon:服務(wù)端框架宜岛;
- Ribbon:客戶端框架;
- Hystrix:服務(wù)容錯(cuò)組件功舀;
- Archaius:服務(wù)配置組件萍倡;
- Servo:Metrics組件;
- Blitz4j:日志組件辟汰;
2)Dobbo是一個(gè)分布式服務(wù)框架列敲,是阿里開放的微服務(wù)化治理框架,致力于提高性能和透明化的RPC遠(yuǎn)程服務(wù)調(diào)用方案帖汞,以及SOA服務(wù)治理方案戴而。其核心部分(官網(wǎng))
- 遠(yuǎn)程通訊: 提供對多種基于長連接的NIO框架抽象封裝,包括多種線程模型涨冀,序列化填硕,以及“請求-響應(yīng)”模式的信息交換方式;
- 集群容錯(cuò): 提供基于接口方法的透明遠(yuǎn)程過程調(diào)用鹿鳖,包括多協(xié)議支持扁眯,以及軟負(fù)載均衡,失敗容錯(cuò)翅帜,地址路由姻檀,動態(tài)配置等集群支持;
- 自動發(fā)現(xiàn): 基于注冊中心目錄服務(wù)涝滴,使服務(wù)消費(fèi)方能動態(tài)的查找服務(wù)提供方绣版,使地址透明,使服務(wù)提供方可以平滑增加或減少機(jī)器歼疮。
Dubbo 也是采用全 Spring 配置方式杂抽,透明化接入應(yīng)用,對應(yīng)用沒有任何 API 侵入韩脏,只需用 Spring 加載 Dubbo的配置即可缩麸,Dubbo 基于 Spring 的 Schema 擴(kuò)展進(jìn)行加載。當(dāng)然也支持官方不推薦的 API 調(diào)用方式赡矢。
3)lstio 作為用于微服務(wù)聚合層管理的新銳項(xiàng)目杭朱,是Google、IBM吹散、Lyft(海外共享出行公司弧械、Uber勁敵),首個(gè)共同聯(lián)合開源的項(xiàng)目空民,提供了統(tǒng)一的連接刃唐,安全,管理和監(jiān)控微服務(wù)的方案。
目前首個(gè)測試版是針對Kubernetes環(huán)境的唁桩,社區(qū)宣稱在未來幾個(gè)月內(nèi)會為虛擬機(jī)和Cloud Foundry 等其他環(huán)境增加支持闭树。lstio將 流量管理添加到微服務(wù)中耸棒,并為增值功能(如安全性荒澡、監(jiān)控、路由与殃、連接管理和策略)創(chuàng)造了基礎(chǔ)单山。
- HTTP、gRPC 和 TCP 網(wǎng)絡(luò)流量自動負(fù)載均衡幅疼;
- 提供了豐富的路由規(guī)則米奸,實(shí)現(xiàn)細(xì)顆粒度的網(wǎng)絡(luò)流量行為控制;
- 流量加密爽篷、服務(wù)件認(rèn)證悴晰,以及強(qiáng)身份聲明;
- 全范圍(Fleet-wide)的策略執(zhí)行逐工;
- 深度遙測和報(bào)告铡溪。
二、開源社區(qū)活躍度對比
開源社區(qū)情況:現(xiàn)如今企業(yè)在采用云計(jì)算首選開源泪喊,而選擇一個(gè)開源框架棕硫,社區(qū)的活躍度將作為重要參考選項(xiàng)。
查看下在 Github 上的更新時(shí)間袒啼,截止 2017 年 8 月 31 日:
Spring Cloud :Spring Cloud · GitHub → 所有項(xiàng)目均更新于『1 小時(shí)』內(nèi)哈扮。
Dubbo :Dubbo · GitHub → 核心項(xiàng)目最近更新于『一個(gè)月乃至數(shù)月』前。
Istio:Istio · GitHub → 所有項(xiàng)目均更新于『30 分鐘』內(nèi)蚓再。
可見滑肉,項(xiàng)目在社區(qū)活躍度上,Istio > Spring Cloud > Dubbo摘仅,結(jié)合穩(wěn)定性來看靶庙,對于使用 Java 系開發(fā)業(yè)務(wù)較多的企業(yè),Spring Cloud 是相對更優(yōu)的選擇实檀,對于更多企業(yè)來說惶洲,與語言幾乎無綁定的 Istio 也是可以好好期待一下其在社區(qū)的發(fā)展。
同時(shí)膳犹,隨著近幾年微服務(wù)架構(gòu)和 Docker 容器概念的火爆恬吕,也會讓 Spring Cloud 在未來越來越“云”化的軟件開發(fā)風(fēng)格中立有一席之地