什么是微服务引擎
微服务引擎(Cloud Service Engine,CSE),是用于微服务应用的云中间件,支持华为云贡献到Apache社区的注册配置中心Servicecomb引擎、开源增强的注册配置中心Nacos引擎和应用网关。用户可结合其他云服务,快速构建云原生微服务体系,实现微服务应用的快速开发和高可用运维。
应用网关
CSE应用网关是各类应用的流量入口,是基于Envoy项目增强的云上托管类网关产品,实现Ingress与微服务网关合一的全新形态。
其兼容微服务应用、注册中心对接、容器Service、容器Ingress、固定地址的虚机应用等多种后端形态,支持HTTP、gRPC、Dubbo RPC、WebSocket等多种协议类型,以及全链路灰度发布、安全认证等多种服务治理特性。
应用网关当前仅在华东-上海一、西南-贵阳一支持。
Nacos引擎
CSE Nacos是基于开源Nacos 2.x版本开发的一款微服务注册发现、配置管理平台。支持多种开发语言、框架的接入使用,具有基于DNS的服务发现能力。
Nacos引擎当前仅在华东-上海一、华南-广州、华北-北京四、西南-贵阳一、华东二、中国-香港、亚太-新加坡、中东-利雅得、拉美-墨西哥城二和拉美-圣保罗一支持。
Nacos的关键特性包括:
功能 |
特性 |
---|---|
实例管理 |
创建实例。 |
查看实例规格。 |
|
查看实例列表。 |
|
查看实例详情。 |
|
实例删除。 |
|
按需转包周期。 |
|
企业项目。 |
|
规格变更 |
扩容变更。 |
连接管理 |
内网访问,通过ip和域名访问。 |
命名空间管理 |
查看命名空间清单。 |
查看命名空间详情。 |
|
创建命名空间。 |
|
编辑命名空间。 |
|
删除命名空间。 |
|
命名空间数量限制。
说明:
一共可创建50个命名空间。 |
|
服务管理 |
过滤命名空间。 |
搜索服务。 |
|
过滤空服务。 |
|
查看服务清单。 |
|
创建服务。 |
|
查看服务提供者。 |
|
查看服务订阅者。 |
|
实例按集群区分。 |
|
提供者支持按元数据过滤。 |
|
支持服务节点上下线。 |
|
支持服务节点权重编辑 |
|
配置管理 |
创建配置。 |
导入配置。 |
|
编辑配置。 |
|
删除配置。 |
|
配置灰度发布。 |
|
单命名空间配置数量限制。 |
|
搜索配置。 |
|
查看配置清单。 |
|
查看配置详情。 |
|
查看历史版本。 |
|
回滚到历史版本。 |
|
配置内容对比。 |
|
配置监听查询。 |
ServiceComb引擎
ServiceComb引擎采用的注册发现中心Apache ServiceComb Service Center,是一个RESTful风格的、高可用无状态的服务注册发现中心,提供微服务发现和微服务管理功能。服务提供者可以将自身的实例信息注册到服务注册发现中心,以供服务消费者发现并使用。ServiceComb引擎可无缝兼容Spring Cloud、ServiceComb等开源生态。关于Apache ServiceComb Service Center的详细内容请参考:
- https://github.com/apache/servicecomb-service-center/
- https://service-center.readthedocs.io/en/latest/user-guides.html
ServiceComb引擎当前仅在华东-上海一、华南-广州、华南-广州-友好用户环境、华北-北京四、华北-北京一、西南-贵阳一、华北-乌兰察布一、华东-上海二、华东二、中国-香港、亚太-新加坡、拉美-墨西哥城二、拉美-圣保罗一、土耳其-伊斯坦布尔、中东-利雅得和亚太-雅加达支持。
ServiceComb引擎分为1.x、2.x版本。
ServiceComb引擎2.x版本是可支持大规模微服务应用管理的商用引擎。您可根据业务需要选择不同规格,引擎创建完成后不支持规格变更;引擎资源独享,性能不受其他租户影响。
相较于ServiceComb引擎1.x版本,ServiceComb引擎2.x版本底层架构、功能、安全及性能全面升级,提供了独立的服务注册发现中心和配置中心,支持基于用户业务场景的定义和治理。两个版本的特性比对请参见表2。
功能 |
特性 |
2.x |
1.x |
备注 |
|
---|---|---|---|---|---|
引擎管理 |
安全性 |
支持安全认证 |
√ |
√ |
- |
可靠性 |
3AZ高可靠 |
√ |
√ |
- |
|
微服务管理 |
基础能力 |
注册发现 |
√ |
√ |
- |
多框架接入 |
√ |
√ |
支持Spring Cloud、ServiceComb Java Chassis。 |
||
无实例版本自动清理 |
√ |
x |
2.3.7及以后版本,支持保留最近3个微服务版本,并自动清理无实例版本。 |
||
性能 |
实例变化毫秒级推送 |
√ |
√ |
- |
|
配置管理 |
基础能力 |
管理配置 |
√ |
√ |
- |
配置格式多样化 |
√ |
仅支持文本 |
2.x新增支持配置格式有:YAML、JSON、TEXT、Properties、INI、XML。 |
||
导入导出 |
√ |
√ |
2.x新增支持设置导入相同配置策略。 |
||
高级特性 |
历史版本 |
√ |
x |
- |
|
版本对比 |
√ |
x |
- |
||
一键回滚 |
√ |
x |
- |
||
配置标签 |
√ |
x |
- |
||
性能 |
秒级下发 |
√ |
x |
- |
|
微服务治理 |
业务场景化治理 |
业务场景定义 |
√ |
x |
- |
基于请求Method的匹配规则 |
√ |
x |
- |
||
基于请求Path的匹配规则 |
√ |
x |
- |
||
基于请求Headers的匹配规则 |
√ |
x |
- |
||
治理策略-流量控制 |
服务端的令牌桶限流 |
√ |
√ |
- |
|
治理策略-重试 |
客户端通过重试来保证用户业务的可用性、容错性、一致性 |
√ |
√ |
- |
|
治理策略-熔断 |
服务端通过熔断故障业务,防止故障蔓延到整个服务,发生大规模故障 |
√ |
√ |
- |
|
治理策略-隔离仓 |
服务端基于信号量控制请求并发能力 |
√ |
x |
- |
|
开发工具 |
本地轻量化引擎 |
本地一键启动,方便开发者离线开发微服务 |
√ |
√ |
- |