使用商业版微服务CSE vs 使用开原版微服务Spring Cloud

对比项

华为微服务引擎CSE

基于开源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等

自行搭建或对接华为云服务


你可能感兴趣的:(技术剖析)