Published on

java经典框架-springcloud

Authors
  • avatar
    Name
    MissTree
    Twitter

springcloud、kubernetes(docker)、Dubbo的区别和联系

特性Dubbospringcloudkubernetes
服务发现和LBZK/Nacos + ClientEureka + RibbonService
API网关NAZuulIngress
配置管理Diamond/NacosSpring Cloud ConfigConfigMaps/Secrets
容错限流SentinelHystrixHealt.Check/Probe/ServiceMesh
日志监控ELKELKEFK
Metrics监控Dubbo Admin/MonitorActuator/MicroMeter + PrometheusHeapster+Prometheus
调用链监控NASpringCloud Sleuth/ZipkinJaeger/Zipkin
应用打包Jar/WarUber Jar/WarDocker lmage/Helm
服务框架Dubbo RPCSpring(Boot) REST框架无关
发布和调度NANAScheduler
自动伸缩和自愈NANAScheduler/AutoScaler
进程隔离NANADocker/Pod
环境管理NANANamespace/Auththorization
资源配额NANACPU/Mem Limit ,Namespace Quotas
流量治理ZK + ClientNAServiceMesh
  • springcloud 与 springboot 高度集成 ,对非 Java 语言支持较弱。运行环境为 jvm,需要依赖 jvm 环境。相对吃内存资源

    • 适合中小型微服务系统
    • 云原生应用开发
    • Java 技术栈的微服务架构
  • kubernetes 与 docker 高度集成,对非 Java 语言支持较好。运行环境为容器,不需要依赖 jvm 环境。相对节省内存资源,但是​学习曲线陡峭,资源开销大、容器启动时间可能影响低延迟场景、容器内问题排查比传统应用更复杂

    • 多语言混合架构
    • 大规模分布式系统
    • 云原生基础设施
    • ​混合云/跨云部署
  • dubbo 在国内比较流行,国外使用范围小,对非 Java 语言支持较好。运行环境为 jvm,需要依赖 jvm 环境。相对节省内存资源

    • 高性能 RPC 通信
    • ​Java 技术栈的微服务
    • 内部服务治理
    • 逐步将单体应用拆分为微服务
    • 逐渐被 kubernetes 和 SpringCloud 生态取代