微服务的基础建设:
Dubbo | SpringCloud | K8s | |
服务发现与LB | ZK/Nacos+Client | Eureka+Ribbon | Service |
API网关 | NA | Zuul | Ingress |
配置管理 | Diamond/Nacos | SpringCloud Config | ConfigMaps/Secrets |
容错限流 | Sentinel | Hystrix | HealithCheck/Probe/ServiceMesh |
日志监控 | ELK | ELK | EFK |
Metrics监控 | Dubbo Admin/Monitor | Actuator/MicroMeter + Prometheus | Heapster+Prometheus |
调用链监控 | NA | SpringCloud Sleuth/Zipkin | Jaeger/Zipkin |
应用打包 | Jar/War | Uber Jar/War | Docker Image/Helm |
服务框架 | Dubbo RPC | Spring(Boot) REST | 框架无关 |
发布和调度 | NA | NA | Scheduler |
自动伸缩和自愈 | NA | NA | Scheduler/AutoScaler |
进程隔离 | NA | NA | Docker/Pod |
环境管理 | NA | NA | Namespace/Auththorization |
资源配额 | NA | NA | CPU/Mem Limit,Namespace Quotas |
流量治理 | ZK + Client | NA | ServiceMesh |
Dubbo | SpringCloud | K8s | |
---|---|---|---|
亮点 | 阿里背书 成熟稳定 RPC 高性能 流量治理 | Neflix/Pivotal 背书 社区活跃 开发体验好 抽象组件化好 | 谷歌背书 平台抽象 全面覆盖微服务关注点(发布) 语言栈无关 社区活跃 |
不足 | 技术较老 耦合性搞 JVM only 国外社区小 | JVM only 运行耗资源 | 偏DevOps和运维 重量复杂 技术门槛高 |