各种微服务框架的对比
一、微服务的技术栈
微服务条目 | 落地技术 |
服务开发 |
SpringBoot,Spring,SpringMVC |
服务配置与管理 |
Netflix公司的Archaius、阿里的Diamond等 |
服务注册与发现 |
Eureka、Consul、Zookeeper等 |
服务调用 |
Rest、RPC、gRPC |
服务熔断器 |
Hystrix、Envoy等 |
负载均衡 |
Ribbon、Nginx等 |
服务接口调用(客户端调用服务的简化工具) |
Feign等 |
消息队列 |
Kafka、RabbitMQ、ActiveMQ等 |
服务配置中心管理 |
SpringCloudConfig、Chef等 |
服务路由(API网关) |
Zuul等 |
服务监控 |
Zabbix、Nagios、Metrics、Specatator等 |
全链路追踪 |
Zipkin、Brave、Dapper等 |
服务部署 |
Docker、OpenStack、Kubernetes等 |
数据流操作开发包 |
SpringCloud Stream(封装与Redis,Rabbit,Kafka等发送接收消息) |
事件消息总线 |
SpringCloud Bus |
二、各种微服务框架的对比
功能点/服务框架 | Netflix/SpringCloud | Motan | gRPC | Thrift | Dubbo/DubboX |
功能定位 |
完整的微服务架构 |
RPC框架,但整合了ZK或Consul,实现集群环境的基本服务注册/发现 |
RPC框架 |
RPC框架 |
服务框架 |
支持Rest |
是,Ribbon支持多种可插拔的序列化选择 |
否 |
否 |
否 |
否 |
支持RPC |
否 |
是 |
是 |
是 |
是 |
支持多语言 |
是(Rest形式) |
否 |
是 |
是 |
否 |
服务注册/发现 |
是(Eureka) Eureka服务注册表,Karyon服务端框架支持服务自注册和健康检查 |
是(zookeeper/consul) |
否 |
否 |
是 |
负载均衡 |
是(服务端zuul+客户端Ribbon) zuul-服务,动态路由 云端负载均衡 Eureka(针对中间层服务器) |
是(客户端) |
否 |
否 |
是(客户端) |
配置服务 |
Netflix Archaius SpringCloud Config Server集中配置 |
是(zookeeper提供) |
否 |
否 |
否 |
服务调用链监控 |
是(zuul) Zuul提供边缘服务,API网关 |
否 |
否 |
否 |
否 |
高可用/容错 |
是(服务端Hystrix+客户端Ribbon) |
是(客户端) |
否 |
否 |
是(客户端) |
典型应用案例 |
Netflix |
Sina |
Google |
Facebook |
|
社区活跃度 |
高 |
一般 |
高 |
一般 |
2017年7月才重启 |
学习难度 |
中等 |
一般 |
高 |
一般 |
低 |
文档丰富度 |
高 |
一般 |
一般 |
一般 |
高 |
其他 |
Spring Cloud Bus为我们应用程序带来了更多管理端点 |
支持降级 |
Netflix内部在开发集成gRPC |
IDL定义 |
实践公司比较 |
··
原文地址:https://www.cnblogs.com/lqcswy/p/11839112.html