1. 程式人生 > >微服務總結及對比

微服務總結及對比

一、微服務技術棧總結

微服務條目 落地技術
服務開發 SpringCloud、Spring、SpringMVC
服務配置與管理 Netfix公司的Archaius、阿里的Diamond
服務註冊與發現 Eureka、Consul、Zookeeper
服務呼叫 Rest、RPC、gRPC
服務熔斷器 Hystrix、Envoy
負載均衡 Ribbon、Nginx
服務介面呼叫(客戶端呼叫服務的簡化工具) Feign
訊息佇列 Kafka、RabbitMQ、ActiveMQ
服務配置中心管理 SpringCloud Config、Chef
服務路由(API閘道器) Zuul
服務監控 Zabbix、Nagios、Metrics、Spectator
全鏈路追蹤 Zipkin、Brave、Dapper
服務部署
Docker、OpenStack、Kubernetes
資料流操作開發包 SpringCloud Stream
事件訊息匯流排 SpringCloud Bus

 

二、微服務框架功能對比

功能點/服務框架 備選方案
Netflix/SpringCloud Dubbo/DubboX Motan(新浪) gRPC Thrift(Facebook)
功能定位
完整的微服務架構 服務框架 RPC框架,但整合了ZK或Consul,實現叢集環境的基本的服務註冊/發現 RPC框架 RPC框架
支援Rest 是 Ribbon支援多種可插拔的序列化選擇
支援RPC 是(Hession2)
支援多語言
服務註冊/發現 是(Eureka) Eureka服務註冊,Karyon服務端框架支援服務自注冊和健康檢查 是(zookeeper/consul)
負載均衡 是(服務端zuul+客戶端Ribbon) Zuul服務動態路由 是(客戶端) 是(客戶端)
配置服務 Netflix Archaius SpringCloud Config Server集中配置 是(zookeeper提供)
服務呼叫鏈監控 是(zuul)
高可用/容錯 是(服務端Hystrix+客戶端Ribbon) 是(客戶端) 是(客戶端)
典型應用案例 Netflix   Sina Google Facebook
社群活躍度 一般 一般 一般
文件豐富度 一般 一般 一般

 

三、Dobbu與SpringCloud對比

  Dubbo SpringCloud
服務註冊中心 Zookeeper Spring Cloud Netflix Eureka
服務呼叫方式 RPC REST API
服務監控 Dubbo-monitor Spring Boot Admin
斷路器 不完善 Spring Cloud Netflix Hystrix
服務閘道器 Spring Cloud Netflix Zuul
分散式配置 Spring Cloud Config
服務跟蹤 Spring Cloud Sleuth
訊息匯流排 Spring Cloud Bus
資料流 Spring Cloud Stream
批量任務 Spring Cloud Task