云服务器内容精选

  • 微服务引擎专享版配额说明 配额是指您在微服务引擎专享版实例中可创建的资源数量限制,具体的资源配额限制如表4所示。 表4 微服务引擎资源配额限制 功能 资源 最大配额 是否支持修改配额 注意事项 微服务管理 微服务版本数量(个) 10,000 暂不支持 - 单个实例数据量(KB) 200 支持 扩大配额后,将增加微服务发现的时延。 单个微服务契约数量(个) 500 暂不支持 - 配置管理 单个配置数据量(KB) 128 暂不支持 - 单个应用级配置数量(个) 2,000 暂不支持 - 微服务治理 应用级的治理策略 1,000 暂不支持 所有的应用的治理策略总和不能超过1000条。 如需使用更大配额,请提交工单申请扩大配额。 单个治理策略包含:治理规则和业务场景。治理规则和业务场景实际会等量占用配置中心的配额。 微服务版本数:微服务场景中版本用来标记微服务的迭代记录,方便对微服务的不同迭代进行管理。 微服务实例数:实例是一个微服务的最小运行和部署单元,通常对应一个应用进程。同一个微服务通过部署在多个容器或虚机,可以实现多个实例同时运行。 配置条目数:微服务场景中的配置是指对程序代码中某些变量的取值控制。比如,动态配置就是通过在微服务运行过程中对某些变量的取值进行动态变更。
  • 微服务开发框架版本要求 微服务开发框架推荐版本如下表所示。 如果已经使用低版本的微服务开发框架构建应用,建议升级到推荐版本,以获取最稳定和丰富的功能体验。 如果已使用Spring Cloud微服务开发框架开发了应用,推荐使用Spring Cloud Huawei接入应用。 如果基于开源开放和业界生态组件新开发微服务应用,可选择Spring Cloud框架。 如果希望使用微服务引擎提供的开箱即用的治理能力和高性能的RPC框架,可选择Java Chassis框架。 框架 推荐版本 说明 Spring Cloud Huawei 1.10.9-2021.0.x及以上 采用Spring Cloud Huawei项目提供接入支持: 适配的Spring Cloud版本为2021.0.5 适配的Spring Boot版本为2.6.13 Spring Cloud微服务开发框架的版本说明请参见:https://github.com/huaweicloud/spring-cloud-huawei/releases。 Java Chassis 2.7.10及以上 可以直接使用开源项目提供的软件包接入,不需要引用其他第三方软件包。 Java Chassis微服务开发框架的版本说明请参见:https://github.com/apache/servicecomb-java-chassis/releases。 系统升级、改造过程中,三方软件冲突是最常见的问题。随着软件迭代速度越来越快,传统的软件兼容性管理策略已经不适应软件的发展,您可以参考三方软件版本管理策略来解决版本冲突。
  • 注册发现 微服务引擎专业版(Cloud Service Engine)限制请参见表1。 表1 微服务引擎专业版限制 项目 限制 心跳上报 每个微服务实例最频繁每30s一次 服务发现 每个微服务实例最频繁每30s一次 微服务实例注册 每秒10个 微服务引擎专享版限制请参见表2。 表2 微服务引擎专享版限制(最高规格) 项目 限制 备注 心跳上报 每个微服务实例最频繁每20s一次 总限流为2000tps 服务发现 每个微服务实例最频繁每20s一次 - 微服务实例注册 每秒1000个 -
  • 身份认证 用户访问ServiceStage的方式有两种,包括ServiceStage控制台、API。其本质都是通过ServiceStage提供的REST风格的API接口进行请求。调用接口有如下两种认证方式,您可以选择其中一种进行认证鉴权: Token认证:通过Token认证调用请求。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证获得操作API的权限。 AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。请求认证总是需要包含一个签名值,该签名值以请求者的AK/SK作为加密因子,结合请求体携带的特定信息计算而成。通过AK/SK认证方式进行认证鉴权,即使用AK/SK加密的方法来验证某个请求发送者身份。关于访问密钥的详细介绍及获取方式,请参见访问密钥。
  • ServiceStage控制台功能依赖的角色或策略 如果 IAM 用户需要在ServiceStage控制台拥有相应功能的查看或使用权限,请确认已经对该用户所在的用户组设置了ServiceStage Administrator、ServiceStage FullAccess或ServiceStage ReadOnlyAccess权限,再参考表6增加依赖服务的角色或策略。 表6 ServiceStage控制台依赖服务的角色或策略 控制台功能 依赖服务 需配置角色/策略 总览 告警 运维监控 应用运维管理 AOM IAM用户设置了ServiceStage Administrator权限后,需要增加AOM FullAccess权限后才能访问总览、告警、运维监控中的数据图表。 支持设置了IAM ReadOnlyAccess和ServiceStage FullAccess或ServiceStage ReadOnlyAccess权限的IAM用户直接访问总览、告警、运维监控中的数据图表。 性能管理 应用性能管理 APM 如果需要使用Java探针,需要设置AOM FullAccess和 APM FullAccess权限。 组件管理 弹性伸缩组 AS 如果需要使用AS资源用于虚拟机环境下部署组件,需要设置AutoScaling FullAccess权限。 云容器引擎 CCE 如果需要使用CCE资源用于容器环境下部署组件,需要设置CCE FullAccess权限。 弹性云服务器 E CS 如果需要使用ECS资源用于虚拟机环境下部署组件,需要设置ECS ReadOnlyAccess权限。 对象存储服务 OBS 如果部署的组件来源于存储在OBS的软件包,需要设置OBS ReadOnlyAccess权限。 微服务引擎 微服务引擎 CSE 如果需要为微服务组件绑定CSE用于服务注册、服务治理、配置管理,需要设置CSE FullAccess权限。 分布式缓存 分布式缓存服务 DCS 如果需要为容器环境下部署的组件绑定DCS用于在应用运行时读取环境变量来获取分布式缓存的相关信息,需要设置DCS ReadOnlyAccess权限。 数据存储 云硬盘服务 EVS 如果容器环境下部署的组件需要使用云硬盘存储方式存储数据,需要设置EVS ReadOnlyAccess权限。 弹性文件服务 SFS 如果容器环境下部署的组件需要使用极速文件存储方式存储数据,需要设置SFS Turbo ReadOnlyAccess权限。 对象存储服务 OBS 如果容器环境下部署的组件需要使用对象存储方式存储数据,需要设置OBS ReadOnlyAccess权限。 云数据库 云数据库 RDS 如果需要为容器环境下部署的组件绑定RDS用于应用数据持久化存储,需要设置RDS ReadOnlyAccess权限。 组件VPC内网访问 组件 域名 访问 弹性负载均衡 ELB 如果需要为组件设置VPC内网访问或域名访问以使用组件提供的服务,需要设置ELB ReadOnlyAccess权限。 组件公网访问 NAT网关 NAT 如果需要为组件设置通过NAT网关公网访问以使用组件提供的服务,需要设置NAT ReadOnlyAccess权限。 弹性公网IP EIP 如果需要为组件设置通过EIP公网访问以使用组件提供的服务,需要设置EIP ReadOnlyAccess权限。 弹性负载均衡 ELB 如果需要为组件设置通过ELB公网访问以使用组件提供的服务,需要设置ELB ReadOnlyAccess权限。 组件日志 云日志 服务 LTS 如果需要通过对接LTS,查看、搜索、导出组件运行LTS日志记录用于排查和解决组件运行中出现的问题,需要设置LTS FullAccess权限。 阈值告警 消息通知 服务 SMN 如果需要将容器环境下部署组件产生的阈值告警消息由消息通知服务SMN发送通知给用户,需要设置SMN ReadOnlyAccess权限。 镜像仓库 容器镜像仓库 SWR 如果容器环境下部署的组件来源于存储在SWR的镜像包,需要设置SWR FullAccess权限。 标签管理 标签管理服务 TMS 如果需要使用TMS对组件等管理对象设置标签用于管理和选择,需要设置TMS ReadOnlyAccess权限。 环境管理 虚拟私有云 VPC VPC用于创建环境时,将用于组件部署和运行的计算、网络、中间件等基础资源隔离在同一个虚拟网络环境中。需要设置VPC ReadOnlyAccess权限。
  • 细粒度权限 SWR未支持细粒度权限,相关权限需要另外授权。 创建“计费模式”为“包月/包年”的微服务引擎专享版时: 创建订单不支付,创建该引擎的用户需拥有“BSS Operator”权限,即费用中心(BSS)操作员,拥有账号中心和资源中心的所有菜单项执行任意操作的权限,在费用中心有相关的只读权限。 创建订单并支付,创建该引擎的用户需拥有“BSS Administrator”权限,即费用中心(BSS)管理员,拥有该服务下的所有权限。 使用自定义细粒度策略,请使用管理员用户登录IAM控制台,按需选择ServiceStage、CSE的细粒度权限进行授权操作。 CSE细粒度权限依赖说明请参见表4。 ServiceStage细粒度权限依赖说明请参见表5。 表4 CSE细粒度权限依赖说明 权限名称 权限描述 权限依赖 应用场景 cse:engine:list 列出所有引擎 无 查看引擎列表。 cse:engine:get 查看引擎信息 cse:engine:list 查看引擎详情,仅微服务引擎专享版支持。 cse:engine:modify 修改引擎 cse:engine:list cse:engine:get 修改引擎的操作包括:开启/关闭公网访问操作、开启/关闭安全认证操作、引擎失败任务重试操作,仅微服务引擎专享版支持。 cse:engine:upgrade 升级引擎 cse:engine:list cse:engine:get 升级引擎的操作包括:引擎版本升级操作,仅微服务引擎专享版支持。 cse:engine:delete 删除引擎 cse:engine:list cse:engine:get vpc:ports:get vpc:ports:delete 删除引擎,仅微服务引擎专享版支持。 cse:engine:create 创建引擎 cse:engine:get cse:engine:list ecs:cloudServerFlavors:get vpc:vpcs:get vpc:vpcs:list vpc:subnets:get vpc:ports:get vpc:ports:create 创建引擎的操作包括:创建引擎操作,引擎备份/恢复任务创建操作,仅微服务引擎专享版支持。 cse:config:modify 服务配置管理修改 cse:engine:list cse:engine:get cse:config:get 全局配置功能与治理功能涉及的配置修改。 cse:config:get 服务配置管理查看 cse:engine:list cse:engine:get 查看服务的配置。 cse:governance:modify 服务治理中心修改 cse:engine:list cse:engine:get cse:config:get cse:config:modify cse:registry:get cse:registry:modify cse:governance:get 创建与修改服务治理。 cse:governance:get 服务治理中心查看 cse:engine:list cse:engine:get cse:config:get cse:registry:get 查看服务治理功能。 cse:registry:modify 服务注册管理修改 cse:engine:list cse:engine:get cse:registry:get 服务修改。 cse:dashboard:modify dashboard管理修改 cse:engine:list cse:engine:get cse:registry:get cse:dashboard:get cse:registry:modify 仪表盘修改。 cse:dashboard:get dashboard管理查看 cse:engine:list cse:engine:get cse:registry:get 仪表盘查看。 cse:registry:get 服务注册管理查看 cse:engine:list cse:engine:get 服务目录查看。 仪表盘不需要授权,但是依赖registry权限,因为仪表盘区分服务需要使用服务目录功能。 表5 ServiceStage细粒度权限依赖说明 权限名称 权限描述 权限依赖 应用场景 servicestage:app:get 查询应用信息 servicestage:app:list 查询应用信息。 servicestage:app:create 创建应用 servicestage:app:get servicestage:app:list servicestage:assembling:get servicestage:assembling:list servicestage:assembling:create 创建应用。 servicestage:app:modify 更新应用 servicestage:app:get servicestage:app:list servicestage:assembling:get servicestage:assembling:list servicestage:assembling:modify 更新应用。 servicestage:app:delete 删除应用 servicestage:app:get servicestage:app:list servicestage:assembling:delete 删除应用。 servicestage:app:list 查看环境和应用列表 无 查看环境和应用列表。 servicestage:environment:create 创建环境 servicestage:app:get servicestage:app:list 创建环境。 servicestage:environment:modify 更新环境 servicestage:app:get servicestage:app:list 更新环境。 servicestage:environment:delete 删除环境 servicestage:app:get servicestage:app:list 删除环境。 servicestage:pipeline:get 查看流水线信息 servicestage:pipeline:list servicestage:assembling:get servicestage:assembling:list 查看流水线信息。 servicestage:pipeline:create 创建流水线 servicestage:pipeline:list servicestage:pipeline:get servicestage:assembling:create servicestage:assembling:get servicestage:assembling:list 创建流水线。 servicestage:pipeline:modify 修改流水线 servicestage:pipeline:get servicestage:pipeline:list servicestage:assembling:modify servicestage:assembling:get servicestage:assembling:list 修改流水线。 servicestage:pipeline:delete 删除流水线 servicestage:pipeline:get servicestage:pipeline:list servicestage:assembling:get servicestage:assembling:list servicestage:assembling:delete 删除流水线。 servicestage:pipeline:list 查看流水线列表 servicestage:assembling:get servicestage:assembling:list 查看流水线列表 servicestage:pipeline:execute 执行流水线 servicestage:pipeline:get servicestage:pipeline:list servicestage:assembling:modify servicestage:assembling:get servicestage:assembling:list servicestage:app:get servicestage:app:list servicestage:app:modify 执行流水线。 servicestage:assembling:get 查看构建信息 servicestage:assembling:list 查看构建信息。 servicestage:assembling:create 创建构建 servicestage:assembling:get servicestage:assembling:list 创建构建。 servicestage:assembling:modify 修改构建 servicestage:assembling:get servicestage:assembling:list 修改构建。 servicestage:assembling:delete 删除构建 servicestage:assembling:get servicestage:assembling:list 删除构建。 servicestage:assembling:list 查看构建列表 无 查看构建列表。
  • ServiceStage权限 默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授予策略,才能使得用户组中的用户获得策略定义的权限,这一过程称为授权。授权后,用户就可以基于策略对云服务进行操作。 ServiceStage资源通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域对应的项目中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问ServiceStage时,需要先切换至授权区域。 根据授权精细程度分为角色和策略: 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于各云服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。 如表1所示,包括了ServiceStage的所有系统权限。推荐使用系统策略,系统角色仅用于兼容已有的权限配置。 表1 ServiceStage系统权限 系统角色/策略名称 描述 类别 依赖关系 ServiceStage FullAccess 应用管理与运维平台所有权限。 系统策略 无 ServiceStage ReadOnlyAccess 应用管理与运维平台只读权限。 系统策略 无 ServiceStage Development 应用管理与运维平台开发者权限。 拥有应用、组件、环境的操作权限,但无审批权限和基础设施创建权限。 系统策略 无 CSE FullAccess 微服务引擎管理员权限。 系统策略 无 CSE ReadOnlyAccess 微服务引擎查看权限。 系统策略 无 ServiceStage Administrator 应用管理与运维平台管理员,拥有该服务下的所有权限。 系统角色 Tenant Guest、Server Administrator、CCE Administrator、APM Administrator。 ServiceStage Operator 应用管理与运维平台操作员,拥有该服务下的只读权限。 系统角色 Tenant Guest ServiceStage Developer 应用管理与运维平台开发者,拥有该服务下的所有权限,但无基础设施创建权限。 系统角色 Tenant Guest 如果表1所列的这些权限不满足实际需求, 您可以参考表2和表3,在这个基础上自定义策略。其中,“√”表示支持,“x”表示不支持。 表2 ServiceStage常用操作与系统权限之间的关系 操作 ServiceStage ReadOnlyAccess ServiceStage Development ServiceStage FullAccess 创建应用 x √ √ 修改应用 x √ √ 查询应用 √ √ √ 删除应用 x √ √ 创建组件 x √ √ 查询组件 √ √ √ 部署组件 x √ √ 维护组件 x √ √ 删除组件 x √ √ 创建构建工程 x √ √ 修改构建工程 x √ √ 查询构建工程 √ √ √ 启动构建工程 x √ √ 删除构建工程 x √ √ 创建流水线 x √ √ 修改流水线 x √ √ 查询流水线 √ √ √ 启动流水线 x √ √ 克隆流水线 x √ √ 删除流水线 x √ √ 新建仓库授权 x √ √ 修改仓库授权 x √ √ 查询仓库授权 √ √ √ 删除仓库授权 x √ √ 表3 CSE常用操作与系统权限之间的关系 操作 CSE ReadOnlyAccess CSE FullAccess 创建微服务引擎 x √ 维护微服务引擎 x √ 查询微服务引擎 √ √ 删除微服务引擎 x √ 创建微服务 x √ 查询微服务 √ √ 维护微服务 x √ 删除微服务 x √ 创建微服务配置 x √ 查询微服务配置 √ √ 编辑微服务配置 x √ 删除微服务配置 x √ 创建微服务治理策略 x √ 查询微服务治理策略 √ √ 编辑微服务治理策略 x √ 删除微服务治理策略 x √
  • ServiceComb ServiceComb是一个Apache微服务开源项目,提供开箱即用、高性能、兼容流行生态、支持多语言的一站式开源微服务解决方案。致力于帮助企业、用户和开发者将企业应用轻松微服务化上云,并实现对微服务应用的高效运维管理。 微服务 微服务是业务概念,某个进程提供某种服务,那它就是个微服务。每一个服务都具有自主运行的业务功能,对外开放不受语言限制的API (最常用的是HTTP)。多个微服务组成应用程序。 在ServiceStage中,微服务对应组件。 微服务实例 一个微服务的最小运行和部署单元,通常对应一个应用进程。
  • 环境 环境是用于应用组件部署和运行的计算、网络、中间件等基础资源的集合。 ServiceStage把计算资源(如云容器引擎CCE、弹性 云服务器ECS 等)、网络资源(如弹性负载均衡ELB、弹性公网IP等)和中间件(如分布式缓存DCS、云数据库RDS、 微服务引擎CSE 等)组合为一个环境,如:开发环境,测试环境,预生产环境,生产环境。 环境内网络互通,可以按环境维度来管理资源、部署服务,减少具体基础资源运维管理的复杂性。
  • Spring Cloud Huawei历史版本及版本修复问题 spring-cloud-huawei版本 主要修复问题 1.11.6-2023.0.x snakeyaml、jackson、guava版本安全漏洞。 路由开关关闭后,微服务应用启动失败,找不到nacos/servicecomb适配实现类。 当前服务配置中心配置未变化,发布配置刷新事件,请求过程中可能出现池化配置找不到。 1.11.6-2022.0.x 1.11.6-2021.0.x 1.11.4-2022.0.x RBAC安全认证未开启,框架依然会监听认证过期事件。 gateway/webflux路由无法获取请求头设置信息。 微服务API安全认证开启后,规则未设置,所有请求不通过。 服务端熔断规则不生效。 1.11.4-2021.0.x 1.11.3-2022.0.x 指定服务名情况下,实例隔离策略不生效。 1.11.3-2021.0.x 1.11.2-2022.0.x API安全认证未设置黑、白名单策略时,空指针异常。 服务端、客户端同时设置相同请求头,key不生效。 1.11.2-2021.0.x 1.11.0-2022.0.x trace上下文配置基于动态配置不生效。 1.11.0-2021.0.x 1.10.13-2021.0.x 同时调用多个服务情况下,降级不生效。 1.10.11-2021.0.x 实例隔离治理不生效。 1.10.9-2021.0.x 指定服务名设置重试策略不生效。 服务降级错误返回“null”字符串,修改为返回null。 1.10.8-2021.0.x 负载均衡规则不生效。 1.10.8-2020.0.x 1.10.7-2021.0.x 服务注册发现开关关闭,启动失败。 1.10.7-2020.0.x 1.10.6-2021.0.x 监控信息中缺少环境信息。 1.10.6-2020.0.x 1.10.5-2021.0.x 重试次数太多导致请求长时间无响应。 1.10.5-2020.0.x 1.10.4-2021.0.x identifierRateLimiting限流上下文获取失败。 1.10.4-2020.0.x 1.10.3-2021.0.x 治理配置第一次变化时不生效。 1.10.3-2020.0.x 1.10.2-2021.0.x 调整默认配置刷新时间为15s。 实例隔离过滤器空指针异常。 1.10.2-2020.0.x 1.10.1-2021.0.x 非客户端请求上下文空指针异常。 路由客户端编译请求头失败。 灰度版本策略生效。 ClientRequest非RequestData类型下转化异常。 1.10.1-2020.0.x 1.10.0-2021.0.x 服务删除、重启无法刷新ribbon缓存,导致请求到不可用服务,报no host to route。 动态配置下灰度发布配置规则,修改配置规则不生效。 启动类application在业务包外层启动失败。 网关最大重试次数不生效。 1.10.0-2020.0.x 1.9.1-2020.0.x 某些场景下,启动类ags属性加载不正确。 网关配置最大重试次数无限重试。 灰度动态配置不生效。 1.9.0-2020.0.x instance.healthCheck.mode值为pull,自定义配置healthCheckInterval健康检查时间不生效。 1.8.0-2020.0.x 非long polling模式下大量配置查询任务,触发查询任务无间隔时间。 cse操作页面对服务实例下线后,服务实例调用依然正常。 management.server.port和server.port两个端口不一致,启动报错。 gateway查询到不同环境的实例。 1.7.0-2020.0.x webmvc与路由结合导致gateway启动失败。 gateway无法实现基于服务发现的路由定义功能。 gateway无法跨应用服务发现。 1.6.1-2020.0.x 说明: 存在重大问题,不建议使用: 非常频繁地查询配置中心。 查询到错误的配置。 1.9.4-Hoxton 当前服务配置中心配置未变化,发布配置刷新事件,请求过程中可能出现池化配置找不到。 1.9.3-Hoxton 服务删除、重启无法刷新ribbon缓存,导致请求到不可用服务,路由不到可用服务。 1.9.2-Hoxton 服务端删除实例后重新注册实例,客户端选择错误的服务端实例。 1.9.1-Hoxton 某些场景下,启动类ags属性加载不正确。 网关配置最大重试次数无限重试。 灰度动态配置不生效。 1.9.0-Hoxton instance.healthCheck.mode值为pull,自定义配置healthCheckInterval健康检查时间不生效。 1.8.0-Hoxton 非long polling模式下大量配置查询任务,触发查询任务无间隔时间。 cse操作页面对服务实例下线后,服务实例调用依然正常。 management.server.port和server.port两个端口不一致启动报错。 gateway查询到不同环境的实例。 1.7.0-Hoxton webmvc与路由结合导致gateway启动失败。 gateway无法实现基于服务发现的路由定义功能。 gateway无法跨应用服务发现。 1.6.0-Hoxton SDK针对401、403错误码,对引擎做出重试请求。 gateway默认路由规则不生效。 无法跨应用调用。 1.5.9-Hoxton RBAC鉴权功能不生效。 灰度路由时无法获取到微服务最新版本。 某些JDK版本不支持swagger循环依赖。 1.5.8-Hoxton gateway服务发现中选择错误实例。 实例状态为空时调用异常。 1.5.6-Hoxton AK/SK配置后不生效,鉴权失败。 server.env配置不生效,全部为空。 配置中心治理配置项删除后仍然能使用。 滑动窗口熔断配置属性不生效。 注册中心开启watch模式后,空指针异常。 读取环境变量PAAS_CSE_SC_ENDPOINT时只能读取第一个地址,无法读取第二个。 1.5.0-Hoxton 错误的治理规则导致空指针异常。 AK/SK未配置时启动,报空指针异常。 服务启动后首次并发请求,限流策略不生效。 governance治理选择错误服务导致请求异常。 当环境配置为production时,契约不变,服务重启会失败。 1.6.4-Greenwich 当前服务配置中心配置未变化,发布配置刷新事件,请求过程中可能出现池化配置找不到。 1.6.3-Greenwich 服务删除、重启无法刷新ribbon缓存,导致请求到不可用服务,路由不到可用服务。 1.6.1-Greenwich gateway跨应用服务发现异常。 1.6.0-Greenwich SDK针对401、403错误码,对引擎做出重试请求。 gateway路由规则不生效。 灰度路由时无法获取到微服务最新版本。 AK/SK配置不生效。 server.env配置不生效,全部为空。 Servicecenter在watch模式下启动失败。 读取环境变量PAAS_CSE_SC_ENDPOINT时只能读取第一个地址,无法读取第二个。 不支持跨应用调用。 1.5.0-Greenwich 错误的治理规则导致空指针异常。 AK/SK未配置时空指针异常。 服务启动后首次并发请求,限流策略不生效。 governance服务转发错误。 环境是production时,重复注册契约导致启动失败。 v1.3.3-Greenwich 注册中心监听不生效。 1.6.1-Finchley 服务启动后第一次并发,调用随机失败。 微服务跨应用调用失败。 1.6.0-Finchley SDK针对401、403错误码,对引擎做出重试请求。 gateway路由规则不生效。 灰度路由时无法获取到微服务最新版本。 AK/SK配置不生效。 server.env配置不生效,全部为空。 Servicecenter在watch模式下启动失败。 读取环境变量PAAS_CSE_SC_ENDPOINT时只能读取第一个地址,无法读取第二个。 不支持跨应用调用。 1.5.1-Finchley 配置中心治理配置删除后仍然可以使用。 v1.3.9 说明: 存在重大问题,不推荐使用。 governance存在服务转发严重错误。 v1.3.8 说明: 存在重大问题,不推荐使用。 governance存在服务转发严重错误。 v1.3.4 注册线程池无法正确关闭并导致泄漏。 actuator开启后微服务注册失败。 某些场景心跳次数过多。 v1.3.3 websocket在wss协议请求失败。 注册中心watch不生效。 v1.3.2 当环境设置为production时契约注册失败。 注册中心url未设置时随机选择地址失败。 注册中心配置域名时watch异常。 v1.2.0 从ServiceStage读取默认的ak/sk配置时,初始化大量对象,导致内存泄漏。 v1.1.0 heartbeat信息日志过多。 微服务间SSL调用不生效。 url包含空格时请求异常。 v1.0.0 某些场景无法自动服务发现。 v0.0.3 服务发现down状态实例。 配置的路径过长。 微服务连接本地CSE引擎失败。
  • 操作步骤 修改微服务调用的URL,将URL中的${IP:Port}修改为服务名。 例如调用一个名为“provider”的微服务,API为“/hello”,则调用URL通常为:http://${IP:Port}/hello。例如: http://127.0.0.1:80/hello 您需要将调用的URL修改为: http://provider/hello 在ServiceStage平台部署组件,绑定微服务引擎,将组件接入微服务引擎,可在“高级设置”中选择已绑定的微服务引擎,单击,输入应用进程的监听端口号,开启多语言接入Mesher服务网格,具体操作请参考创建并部署组件 。 组件部署环境为容器场景时,支持开启多语言接入Mesher服务网格;当部署环境为虚拟机场景时,不支持开启多语言接入Mesher服务网格。
  • 什么是Mesher Mesher是Service Mesh的一个具体的实现,是一个轻量的代理服务以Sidecar的方式与微服务一起运行。 Service Mesh是由William Morgan定义: Service Mesh是一个基础设施层,用于处理服务间通信。云原生应用有着复杂的服务拓扑,Service Mesh保证请求可以在这些拓扑中可靠地传输。在实际应用当中,Service Mesh通常是由一系列轻量级的网络代理组成的,它们与应用程序部署在一起,但应用程序不需要知道它们的存在。 随着云原生应用的崛起,Service Mesh逐渐成为一个独立的基础设施层。在云原生模型里,一个应用可以由数百个服务组成,每个服务可能有数千个实例,而每个实例可能会持续地发生变化。服务间通信不仅异常复杂,而且也是运行时行为的基础。管理好服务间通信对于保证端到端的性能和可靠性来说是非常重要的。 Service Mesh实际上就是处于TCP/IP之上的一个抽象层,假设底层的L3/L4网络能够点对点地传输字节(同时,也假设网络环境是不可靠的,所以Service Mesh必须具备处理网络故障的能力)。 从某种程度上说,Service Mesh有点类似TCP/IP。TCP对网络端点间传输字节的机制进行了抽象,而Service Mesh则是对服务节点间请求的路由机制进行了抽象。Service Mesh不关心消息体是什么,也不关心它们是如何编码的。应用程序的目标是“将某些东西从A传送到B”,而Service Mesh所要做的就是实现这个目标,并处理传送过程中可能出现的任何故障。 与TCP不同的是,Service Mesh有着更高的目标:为应用运行时提供统一的、应用层面的可见性和可控性。Service Mesh将服务间通信从底层的基础设施中分离出来,让它成为整个生态系统的一等公民——它因此可以被监控、托管和控制。
  • 本地开发工具说明 本地开发工具包含了微服务引擎2.x的本地轻量化版本,提供用于本地开发的轻量服务中心、配置中心,和简单易用的界面。 使用说明请参考本地开发工具压缩包中的README.md文件。 表1 本地引擎资源配额限制 功能 资源 最大配额 微服务管理 微服务版本数量(个) 10,000 单个微服务实例数量(个) 100 单个微服务契约数量(个) 500 配置管理 配置数量(个) 600 表2 本地轻量化微服务引擎版本说明 版本 对应微服务引擎版本 发行时间 获取路径 2.1.7 2.x 2023.6.1 Local-CSE-2.1.7-windows-amd64.zip Local-CSE-2.1.7-linux-amd64.zip Local-CSE-2.1.7-linux-arm64.zip 本地轻量化微服务引擎仅作为本地开发调测,请勿用于商业使用。 本地轻量化微服务引擎支持在Windows、Linux系统下使用。 父主题: 附录
  • 获取AK/SK访问密钥 请以应用所需权限用户登录ServiceStage控制台,用户权限说明请参考权限管理。 登录ServiceStage控制台。 鼠标移动到登录用户名,在下拉菜单选择“我的凭证”。 单击“访问密钥”。 单击“新增访问密钥”,输入密钥描述信息后单击“确定”。 单击“立即下载”。 下载成功后,在credentials文件中获取AK和SK信息: Access Key Id的值即为AK。 Secret Access Key的值即为SK。 每个用户仅允许保留2个有效的访问密钥。 为保证访问密钥的安全,访问密钥仅在初次生成时自动下载,后续不可再次通过管理控制台界面获取。请妥善保管访问密钥。
  • 操作步骤 登录ServiceStage控制台。 创建密钥,请参考管理密钥。 “创建方式”选择“可视化”。 “密钥名称”填写为“mesher-secret”。 “所属集群”选择部署应用的集群。 “命名空间”选择部署应用的命名空间。 “密钥类型”选择“Opaque”。 “密钥数据”请按以下表格填写。 表1 密钥数据 键 值 cse_credentials_accessKey base64编码后的AK值。 cse_credentials_secretKey base64编码后的SK值。