Q: 如何对比Flomesh和Istio?

A:针对大家熟悉的istio,我们做了一个简单的对比,随着更多的对比需求提出,我们会更新这个表格。这里我们没有列出没有差异的条目,比如“是否支持SSL”。关于Istio如果有信息不准确的,请联系contact@polaristech.io。

# 对比项 Istio Flomesh 描述
1 部署环境 kubernetes 容器、Kubernetes、虚拟机、物理机
2 是否支持k8s多集群?
3 是否支持混合多集群(k8s/vm/dubbo/spring-cloud)? 支持k8s和vm
4 代理模式 sidecar,每个容器一个代理 四种:1. sidecar,每个容器一个代理;2. 每个namespace/project一个代理;3. 每个节点一个代理;4. 全局集中代理
5 支持Metrics采用的技术 Prometheus Prometheus+内存实时统计
6 支持服务依赖采用的技术 跟踪系统,比如zipkin/jaeger 无依赖
7 支持的跟踪系统 Zipkin,Jaeger Zipkin, Jaeger, Skywalking
8 是否支持Dubbo RPC流量管理? 未知 支持Dubbo RPC
9 是否支持response缓存?
10 支持的网关组件 Envoy Kong, Piped
11 服务认证方式 SSL 多种:HTTP BASIC; Token; JWT; HMAC
12 是否支持WAF(owasp top 10)流量过滤? 未知 支持
13 控制平面开发语言 Go Type Script
14 控制平面接口 gRPC, REST graphQL, REST
15 数据平面开发语言 Envoy(C++) Kong(OpenResty), Piped(C++)
16 数据平面接口 gRPC REST
17 支持的微服务框架 kubernetes kubernetes; SpringCloud/Eureka; Dubbo/Zookeeper 可以自动生成服务注册信息,维护动态路由信息
18 灰度发布/金丝雀发布 支持 可视化
19 HTTP正向代理 未知 支持
20 配置导入/导出 未知 支持 导入导出Json或者Yaml
21 支持windows环境? 未知 支持 包括运行在windows里的服务;以及组件是否可以部署在windows中
22 多租户/分角色/分权限 基于k8s的ServiceAccount 支持
23 配置变更审批与工作流 未知 支持
24 内置管理控制台图形界面? 未知 支持
25 多环境统一管理(Dev/Test/Stage, etc) 未知 支持
26 跨DC、跨AZ、跨Region 部署与流量转发 未知 支持 比如支持两地三中心多活高可用部署
27 流量管理扩展 未知 插件,以及Lua在线编辑在线生效
28 协议转换 未知 支持HTTP/Dubbo/TCP三者中任意两者之间转换
29 格式转换 未知 支持XML和JSON (*注:不支持XML attribute)

感谢fleeto@github校对