使用商业版微服务CSE vs 使用开原版微服务Spring Cloud
对比项 | 基于开源Spring Cloud自建 | |
---|---|---|
管理界面 | 提供一站式微服务管理控制台,包含服务目录、服务治理、服务配置、事务看板及新服务创建等简单易用的Web操作界面 | 需自行开发UI控制台,代码量2万多行 |
开发语言 | 支持JAVA、Go、PHP、.NET、Python、NodeJS及其他多种主流开发语言 | 只支持JAVA |
通信协议 | REST/RPC | REST |
Service Mesh | 提供商业版Mesher,支持一键式部署 | 无 |
易用性 | 只需导入华为微服务SDK即可享受各种服务治理和管控能力,包括负载均衡、故障隔离、容错机制、流量控制、调用链跟踪和服务状态仪表盘等,这些功能与业务代码完全解耦,用户只需专注业务开发 | 基于Spring Boot/Cloud组件构建,需要集成验证Hystrix、Ribbon、Zipkin、Prometheus等大量三方组件,门槛高,学习周期长 |
服务注册 | 提供了对微服务静态元数据丰富的管理能力,例如支持应用>微服务>实例的层次关系管理、版本管理、tag管理、灰度发布以及服务拓扑,同时提供了对大规模企业级微服务管理 | 提供Eureka组件,需自行开发封装成服务使用,仅是管理动态路由数据 |
动态配置 | 提供多维数据建模的方式组织配置信息,对于配置信息的描述能力更强,扩展能力更好。另外同时支持了push和pull的配置变更通知方式,实时性更好 | 提供Spring Cloud Config组件,需自行开发封装成服务使用,配置描述能力弱,且实时性不好 |
服务治理 | 支持更细粒度(接口级)的服务治理能力。并且实现了实例访问错误重试和隔离、多数据中心间服务发现的优先级等其他治理能力。另外,对于这些开源库提供的原生治理方式进行了妥善的封装,可以通过配置的方式进行使用而不必再进行编码 | 仅提供Hystrix等开源组件,需自行开发封装成服务使用,只支持服务粒度隔离 |
轻量级网关 | 支持Restful请求汇聚及转发,支持服务映射、请求解析、加密解密、鉴权等自定义能力,网关服务本身也可被治理 | 基于Zuul构建网关,性能是短板,治理能力需要业务集成大量三方件来实现 |
灰度发布 | 支持按权重和接口参数(例如用户群组或用户所属区域等等)定义微服务灰度发布规则 | 无 |
仪表盘 | 提供基于微服务>实例>接口多层次的应用级指标监控,如吞吐量、时延、成功率等等 | 无 |
部署 | 即开即用(秒级) | 需基于开源组件自行开发和部署服务中心、配置中心、治理中心以及控制台,费时费力 |
扩容 | 通过控制台自助式升降规模(秒级) | 需要手工进行实例扩容,数据迁移等等 |
异地容灾 | 支持AZ基本高可靠 | 搭建难度大,技术要求高,需自行开发HA |
日常运维 | 用户免运维,由华为运维团队提供如备份恢复、监控告警、版本升级、防爆机制、访问保护等日常运维措施 | 需自行负责如备份恢复、监控告警、版本升级、防爆机制、访问保护等日常运维措施 |
与华为云服务集成 | 目前已与华为云容器服务CCE、应用性能管理APM、应用运维管理AOM无缝连接,正在集成缓存服务DCS、消息服务DMS、数据库服务RDS等 | 自行搭建或对接华为云服务 |
立即体验华为微服务CSE:https://console.huaweicloud.cn/cse/?region=cn-north-1#/cse/home
- 点赞
- 收藏
- 关注作者
评论(0)