微服务总结及对比

一、微服务技术栈总结

微服务条目 落地技术
服务开发 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

 

你可能感兴趣的:(微服务)