微服务总结及对比
其他
2018-12-26 00:20:47
阅读次数: 0
一、微服务技术栈总结
微服务条目 |
落地技术 |
服务开发 |
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 |
转载自blog.csdn.net/wulei823821905/article/details/82051867