华为云用户手册

  • 配置原子插件 微服务发布提供滚动升级、灰度起负载、灰度引流、灰度下线和人工卡点五种插件,用于滚动升级和灰度升级,以下分别介绍各插件配置方法。 滚动升级插件 滚动升级包括两种部署方式:镜像创建和YAML创建。 镜像创建:替换工作负载中容器的镜像。 表1 参数说明 参数项 说明 命名空间 待升级的服务所在的命名空间。 工作负载 填写YAML文件的相对路径。 当前目录为代码分支的根目录。 仅支持单个YAML文件。 YAML路径可以使用“${变量名}”引用环境变量,YAML文件中可以使用“{{变量名}}”引用环境变量。 容器 工作负载中需要升级的容器。 YAML创建:使用yaml文件上线或升级工作负载。 表2 参数说明 参数项 说明 仓库类型 代码仓库的类型。 代码仓 用户在微服务中配置的代码仓。 分支 用户在微服务中配置的分支。 工作负载YAML路径 升级的工作负载YAML路径,填写YAML文件的相对路径。 当前目录为代码分支的根目录。 仅支持单个YAML文件。 YAML路径可以使用“${变量名}”引用环境变量,YAML文件中可以使用“{{变量名}}”引用环境变量。 灰度起负载插件 灰度起负载包括两种部署方式:镜像升级和YAML部署。 镜像创建:替换工作负载中容器的镜像,创建与线上配置完全一致的工作负载,仅更新构建产物(镜像包)。 表3 参数说明 参数项 说明 命名空间 选择升级的服务所在的命名空间。 服务 升级的服务。 自定义版本号 打开开关。 灰度版本号 灰度版本号将作为新旧负载的引流标识,输入“${TIMESTAMP}”,引用系统环境变量。 YAML创建:使用yaml文件上线或升级工作负载。 表4 参数说明 参数项 说明 命名空间 选择升级的服务所在的命名空间。 服务 集群命名空间下的服务,需要确保该服务有且仅有一个工作负载与其关联。 仓库类型 仓库的类型。 代码仓 用户在微服务中配置的代码仓。 分支 用户在微服务中配置的分支。 工作负责YAML路径 填写YAML文件的相对路径。 当前目录为代码分支的根目录。 仅支持单个YAML文件。 YAML路径可以使用“${变量名}”引用环境变量,YAML文件中可以使用“{{变量名}}”引用环境变量。 灰度引流插件 选择引流类型,包括:Service蓝绿引流和ASM灰度引流。 Service蓝绿引流:基于集群Service将所有流量切换至新负载(灰度负载)。 ASM灰度引流:基于ASM的VirtualService和DestinationRule配置来控制访问流量,可以基于流量比例、请求Header等进行灰度引流,要求集群内安装ASM(应用服务网格)。 灰度下线插件 灰度下线插件会自动下线服务关联的旧工作负载,无需配置。 人工卡点插件 可以在卡点确认时进行批准或驳回部署策略。 表5 参数说明 参数项 说明 超时处理 选择人工卡点的超时处理方案。 卡点失败,发布流终止执行:运行至人工卡点时流水线将暂停,若审批通过则继续执行,若驳回则终止流水线运行。 忽略结果,发布流继续执行:运行至人工卡点时流水线继续执行。 卡点时长 选择人工卡点时长,时间范围为1分钟至12小时。 卡点说明 填写卡点说明(可选)。
  • 权限管理 切换至“权限管理”页面,根据需要为流水线配置权限,包括角色权限配置和人员权限配置。 角色权限在未做更改时,角色权限和项目设置中的角色权限保持一致。 项目创建者和流水线创建者权限不能更改。 人员权限优先于角色权限。 默认情况下,用户配置角色权限后会自动同步人员权限,如果配置了人员权限,则该人员权限会覆盖该人员对应的角色权限。 角色权限配置 通过勾选/取消勾选,可以控制角色权限,即指定角色对当前流水线的查看、执行、编辑、删除操作权限。 人员权限配置 通过勾选/取消勾选,可以单独为某个人员设置权限,指定其对当前流水线的执行、编辑、删除操作权限。 默认情况下,有编辑或执行权限就有查看权限。
  • 执行计划 切换至“执行计划”页面,可根据需要为流水线配置事件触发、定时任务和并发策略。其中事件触发包括代码提交时触发、合并请求时触发、创建标签时触发。码云代码仓还支持Pull Request、新建issue、评论issue等其他事件。 代码提交时触发(代码托管/码云) 监控代码提交触发事件,可以组合分支和具体路径的包含/排除范围,当在关联的代码仓库中有代码提交且所在的分支和变更文件的路径满足包含/排除策略,会自动触发关联流水线执行。 分支包含:提交代码的目标分支在包含分支中,则匹配成功。 分支排除:提交代码的目标分支在排除分支中,则匹配失败。 路径包含:变更文件有任意一个(若配置了路径排除,则必须为排除范围外的变更文件)在包含范围内,则匹配成功。 路径排除:变更文件全部在排除范围内,则匹配失败。 合并请求时触发(代码托管/码云) 启用合并请求事件触发:监控合并请求触发事件,可以组合分支和具体路径的包含/排除范围,对新建、更新、代码更新、合并和重新打开事件设置触发策略,当在关联的代码仓库侧触发合并请求事件且分支满足包含/排除策略,会自动触发关联流水线执行。 事件说明: 新建:合并请求创建时触发。 合并:合并请求合入时触发,该事件会同时触发代码提交事件。 重新打开:合并请求重新打开时触发。 更新:合并请求内容更新、设置更新或者源代码更新时触发,打开“仅代码更新触发”,则仅源代码更新时触发。 分支说明: 分支包含:合并请求的目标分支在包含分支中,则匹配成功。 分支排除:合并请求的目标分支在排除分支中,则匹配失败。 路径包含:变更文件有任意一个(若配置了路径排除,则必须为排除范围外的变更文件)在包含范围内,则匹配成功。 路径排除:变更文件全部在排除范围内,则匹配失败。 创建标签时触发(代码托管) 监控创建标签触发事件,可以添加标签包含/排除范围,当在关联的代码仓库创建标签且满足标签包含/排除策略,会自动触发关联流水线执行。 标签包含:在代码仓库创建的标签在包含标签中,则匹配成功。 标签排除:在代码仓库创建的标签在排除标签中,则匹配失败。 其他事件(码云) 评论Pull Request:评论Pull Request时触发流水线执行。 新建issue:新建issue时触发流水线运行。 评论issue:评论issue时触发流水线运行。 除了上述事件外,码云代码仓还支持开启事件触发成功后自动评论。 先匹配分支,再匹配路径(如果有配置),都匹配成功,则触发流水线。 分支排除优先于分支包含,即目标分支同时在包含和排除中时,匹配失败。 路径排除优先于路径包含,即先匹配排除的路径,如果变更文件没有全部在排除范围内,则继续匹配包含的路径。若未配置包含路径,则匹配成功;若配置了包含路径,并且变更文件在路径排除范围外有任意一个在包含范围内,则匹配成功。 标签排除优先于标签包含,即标签同时在包含和排除中时,则匹配失败。 定时执行 单击定时任务区域的“创建定时任务”,增加一个定时任务,打开“启用定时执行”开关(默认开启),然后设置执行日和执行时间,保存流水线后即可生效,满足条件即可自动触发流水线执行。 最多可以设置10个定时任务。 并发策略 默认单条流水线最大执行并发数为5,超过并发数后新的触发忽略不执行。可以通过并发策略为单条流水线配置同时处于运行中和暂停状态的流水线最大实例个数,即并发数,更细粒度地为用户分配并发资源。 打开“并发策略”开关,然后设置并发数和超过并发后执行策略,保存流水线后即可生效。 参数项 说明 并发个数 单条流水线最大执行并发数,受套餐和购买并发数限制。 超过并发后执行策略 超过并发数后可选择如下两种处理方式: 排队等候:超过并发数后新的触发排队等待执行,可进入流水线详情页查看排队记录。 单条流水线最多支持100条排队记录。 单条排队记录排队时长超过24小时后会被放弃执行。 排队记录支持手动取消排队,即放弃执行。 排队记录执行时,配置信息以入队时为准。 忽略不执行:超过并发数后新的触发忽略不执行。
  • 通知订阅 切换至“通知订阅”页面,根据需要为流水线配置事件通知,包括服务动态通知、飞书通知和企业微信通知。 服务动态通知 通过邮件或服务动态的方式推送通知。流水线被删除、执行失败、执行成功以及配置被更新时,可以配置给相关人员发送服务动态或邮件。 单击“官方通知”下“服务动态”,请根据实际需要单击开启通知,单击关闭通知。 默认服务动态通知都发送,邮件通知都不发送。 退出流水线配置页面,可以在流水线首页单击右上角,会弹出“通知”侧滑框,即可查看通知消息。 飞书通知 将流水线信息推送到飞书。 单击“第三方通知”下“飞书”,请根据实际需要填写通知信息,填写完成后即可激活通知。 表4 参数说明 操作项 说明 Webhook地址 填写飞书机器人通知URL。 加密密钥 飞书自定义机器人可以开启安全设置,若未使用加签,无需填写加签秘钥。 事件类型 选择要通知的事件,可选择已完成、失败、暂停、挂起、忽略五种事件类型。 通知内容 选择要通知的内容,可选择流水线名称、流水线执行描述、执行人、触发信息、项目名称、执行时间、运行状态七种通知内容。 @user_id 填写要接受通知的飞书的user_id,多个user_id之间以逗号分隔。 企业微信通知 将流水线信息推送到企业微信。 单击“第三方通知”下“企业微信”,请根据实际需要填写通知信息,填写完成后即可激活通知。 表5 参数说明 操作项 说明 Webhook地址 填写企业微信机器人通知URL。 事件类型 选择要通知的事件,可选择已完成、失败、暂停、挂起、忽略五种事件类型。 通知内容 选择要通知的内容,可选择流水线名称、流水线执行描述、执行人、触发信息、项目名称、执行时间、运行状态七种通知内容。 @user_id 填写要接受通知的企业微信的user_id,多个user_id之间以逗号分隔。
  • 任务编排 在“任务编排”页面,可以配置代码源、管理阶段、管理任务、配置准出条件等。 配置代码源 单击代码源阶段下仓库所在区域,弹出“编辑流水线源”侧滑框,可以修改代码源信息。 管理阶段 在“任务编排”页面,单击或者“新建阶段”,可以为流水线添加新的阶段,添加完阶段后,可根据实际需要编辑、删除、复制、移动阶段等。 表1 管理阶段 操作项 说明 编辑阶段 单击,弹出“编辑阶段”侧滑框,可以配置阶段名称和阶段是否总是运行。 说明: 总是运行:选择“是”,表示流水线执行时,该阶段下的任务默认选中必须执行且不可取消;选择“否”,表示流水线执行时,该阶段下的任务默认选中但可以取消。 删除阶段 单击,根据删除提示确认是否删除阶段。 复制阶段 单击,可以复制流水线阶段。 排序阶段 单击不松开,可以移动阶段调整阶段顺序。 阶段准入 单击单击,弹出“准入设置”侧滑框,可以配置阶段准入类型(自动或手动)。 自动:默认执行方式,流水线执行时自动进入该阶段继续运行。 手动:流水线执行时需手动确认后才能进入该阶段继续运行。 管理任务 阶段添加后,可以为各阶段添加任务。任务添加后,请根据实际需要编辑、复制、删除、移动任务等。 表2 管理任务 操作项 说明 添加任务 单击“新建任务”,可以在空阶段中添加一个任务。 单击任务下方的,可以添加一个和该任务串行编排的任务。 单击“并行任务”,可以添加一个和已有任务并行编排的任务。 说明: 任务串行执行:按顺序执行,如:构建任务和部署任务应该按顺序先后执行。 任务并行执行:同时执行,如:代码检查任务和构建任务可以同时执行。 编辑任务 单击任务卡片,可以编辑当前任务。 复制任务 将鼠标移动到任务卡片,单击,可以复制一个和该串行编排的任务。 删除任务 将鼠标移动到任务卡片,单击,根据删除提示确定是否删除任务。 排序任务 单击任务卡片不松开,可以移动任务调整任务顺序。 说明: 任务并行执行时不支持调整顺序。 添加或编辑任务时,弹出侧滑框,可以配置任务。 表3 配置任务 操作项 说明 添加插件 插件分为构建插件、代码检查插件、部署插件、测试插件和通用插件5种类型,可以根据不同类型进行过滤或搜索。将鼠标移动到插件卡片,单击“添加”,即可将插件添加到任务中。 请根据需要配置插件相关信息: 填写插件名称。 选择需要调用的任务,如果找不到合适的任务,请根据界面提示新建任务。 如果调用的任务有参数,参数也会显示出来,请根据需要配置相应参数。 插件名称后有对应标记,单个任务中最多只能添加一个带“任务”标记的插件;带“草稿”标记的插件表示当前用户发布为草稿的自定义插件。 “挂起流水线”插件只能添加在不含并行任务的阶段中。 删除插件 将鼠标移动到已经添加的插件卡片,单击,选择“删除”,可以删除当前插件。 更换插件 将鼠标移动到已经添加的插件卡片,单击,选择“更换”,或者单击插件上方“更换插件”,可以返回插件列表,更换当前插件。 排序插件 单击插件卡片不松开,可以移动插件调整插件顺序。 任务配置 可以配置任务ID、执行主机和执行条件。 任务ID:任务的ID,同一条流水线上的任务ID不能重复。 执行主机:包括内置执行机和自定义执行机。 内置执行机:服务提供的执行主机,用户无需配置开箱即用。 自定义执行机:支持用户自行配置工具和运行环境,以满足不同任务的需求。选择自定义执行机需提前在资源池添加代理资源池,详细操作请参见资源池管理。 执行条件:即流水线阶段任务执行时需要满足的前提条件,通过配置执行条件,可以控制阶段任务是否执行。 说明: 其中,执行主机仅针对非任务级插件。 配置准出条件 单击阶段下方“准出条件”,弹出“准出条件”侧滑框,将鼠标移动到准出条件卡片,单击“添加”,可以为当前阶段添加准出条件,并为准出条件配置策略。 当前仅支持“标准策略准出条件”。 策略:以标准策略方式配置门禁准出条件,可以选择当前项目或租户下创建好的策略。 策略是一系列规则的集合,每个规则对应了一个步骤插件的输出指标值的条件模板,通过预定义好策略,可以很方便地在多条不同流水线中应用同样的准出条件。详见规则与策略。 流水线可以在各阶段单独设置准出条件,准出条件只对当前阶段有效。 同一阶段中可以配置多个不同的准出条件。
  • 操作步骤 新建/编辑流水线,新建任务, 添加“云原生发布”插件,参数说明如表1。 表1 参数说明 参数项 说明 名称 插件的名称。 环境级别 任务发布的环境类别,对应微服务的环境类型,目前支持开发环境、测试环境、预发环境和生产环境。 环境 需要发布的环境,对应微服务的环境,详见新建发布管理环境。 产物地址 微服务部署时使用的镜像地址,如:swr.example.com/demo/springboot-helloworld:v1.1,可以通过“${}”引用流水线参数,如:swr.example.com/demo/springboot-helloworld:${version}。 说明: 推荐使用SWR容器镜像服务,可通过编译构建制作镜像并推送到SWR仓库。 配置完成后,运行流水线,可实时查看运行进展。 单击云原生发布插件任务,可查看任务运行情况,包括任务日志和任务结果。 任务日志:查看实时日志信息和运行状态。 任务结果:查看任务基本信息,包括工单名称、工单ID、触发人等。 单击工单ID或“查看详情”可进入工单详情页面,工单详情页介绍请参见查看部署结果。
  • 新建发布管理环境 在环境列表页面,单击“新建环境”。 进入“新建环境”页面,填写基本信息,相关参数说明如表1所示。 表1 参数说明 参数项 说明 归属项目 环境所属项目,不可修改。 环境名称 微服务下环境唯一标识,创建后不可修改。 资源类型 承载服务的资源类型,当前支持华为云CCE集群、UCS集群和自建K8S集群,不同类型的资源支持的部署插件不同。 CCE:华为云对Kubernetes封装的集群类型,使用华为云CCE资源时选择该类型,了解更多。 UCS:华为云对Kubernetes封装的多云集群类型,当用户有多云部署需求时,可选择该类型,了解更多。 K8S:业界标准的原生集群类型,当用户使用自建集群或者第三方集群时,可选择该类型。 发布用户 可选择当前用户和其他用户。选择其他用户时,需要通过服务扩展点获取权限。 区域 资源类型为CCE时,需设置此参数。 选择要部署的区域。 集群 资源类型为CCE时,需设置此参数。 选择CCE云容器引擎中已购买的K8S集群。 关联类型 资源类型为UCS时,需设置此参数。 选择关联的UCS资源粒度。 容器舰队 资源类型为UCS时,需设置此参数。 选择已创建的舰队。 Kubernetes扩展点 资源类型为K8S时,需设置此参数。 支持以扩展点的方式关联集群资源,会以Kubernates扩展点配置的凭证信息访问集群资源,选择已创建的Kubernates扩展点。 环境级别 环境类型,内置了开发环境、测试环境、预发环境和生产环境四种类型。 描述 填写环境的描述信息。 填写完所有参数,单击“确定”,即可完成环境创建,新建成功后将自动跳转至环境详情页面。
  • 开发者联调权限 联调环境支持在项目下统一配置项目下各角色的默认权限,涉及的模块包括:集群(基础设施)、配置中心、服务模板、环境实例。 初始状态下,项目下各角色具有的开发者联调权限如下表所示: 表5 集群 角色 查看 创建 修改 删除 项目创建者 √ √ √ √ 项目经理 √ √ √ √ 开发人员 √ √ √ × 测试经理 √ √ √ × 测试人员 √ √ √ × 参与者 √ × × × 浏览者 √ × × × 运维经理 √ √ √ √ 产品经理 √ √ √ × 系统工程师 √ √ √ × Committer √ √ √ √ 表6 配置中心 角色 查看 创建 修改 删除 项目创建者 √ √ √ √ 项目经理 √ √ √ √ 开发人员 √ √ √ √ 测试经理 √ √ √ √ 测试人员 √ √ √ √ 参与者 √ × × × 浏览者 √ × × × 运维经理 √ √ √ √ 产品经理 √ √ √ √ 系统工程师 √ √ √ √ Committer √ √ √ √ 表7 服务模板 角色 查看 创建 修改 删除 项目创建者 √ √ √ √ 项目经理 √ √ √ √ 开发人员 √ √ √ × 测试经理 √ √ √ × 测试人员 √ √ √ × 参与者 √ × × × 浏览者 √ × × × 运维经理 √ √ √ √ 产品经理 √ √ √ √ 系统工程师 √ √ √ √ Committer √ √ √ √ 表8 环境实例 角色 查看 创建 修改 删除 运维 项目创建者 √ √ √ √ √ 项目经理 √ √ √ √ √ 开发人员 √ √ √ × √ 测试经理 √ √ √ × √ 测试人员 √ √ √ × √ 参与者 √ × × × × 浏览者 √ × × × × 运维经理 √ √ √ √ √ 产品经理 √ √ √ √ √ 系统工程师 √ √ √ √ √ Committer √ √ √ √ ×
  • 微服务发布权限 微服务发布支持在项目下统一配置项目下各角色的默认权限,涉及的模块包括:开发环境、测试环境、预发环境和生产环境。 初始状态下,不同环境项目下各角色的微服务发布权限如下表所示。 表1 开发环境 角色 查看 创建 修改 删除 执行 回滚 项目创建者 √ √ √ √ √ √ 项目经理 √ √ √ √ √ √ 开发人员 √ √ √ √ √ √ 测试经理 √ × × × × × 测试人员 √ × × × × × 参与者 √ × × × × × 浏览者 √ × × × × × 运维经理 √ √ √ √ √ √ 产品经理 √ √ √ √ √ √ 系统工程师 √ √ √ √ √ √ Committer √ √ √ √ √ √ 表2 测试环境 角色 查看 创建 修改 删除 执行 回滚 项目创建者 √ √ √ √ √ √ 项目经理 √ √ √ √ √ √ 开发人员 √ × × × × × 测试经理 √ √ √ √ √ √ 测试人员 √ √ √ √ √ × 参与者 √ × × × × × 浏览者 √ × × × × × 运维经理 √ √ √ √ √ √ 产品经理 √ × × × × × 系统工程师 √ × × × × × Committer √ √ √ √ √ √ 表3 预发环境 角色 查看 创建 修改 删除 执行 回滚 项目创建者 √ √ √ √ √ √ 项目经理 √ √ √ √ √ √ 开发人员 √ × × × × × 测试经理 √ × × × × × 测试人员 √ × × × × × 参与者 × × × × × × 浏览者 × × × × × × 运维经理 √ √ √ √ √ √ 产品经理 √ × × × × × 系统工程师 √ × × × × × Committer √ √ √ √ √ √ 表4 生产环境 角色 查看 创建 修改 删除 执行 回滚 项目创建者 √ √ √ √ √ √ 项目经理 √ √ √ √ √ √ 开发人员 × × × × × × 测试经理 × × × × × × 测试人员 × × × × × × 参与者 × × × × × × 浏览者 × × × × × × 运维经理 √ √ √ √ √ √ 产品经理 × × × × × × 系统工程师 √ × × × × × Committer √ √ √ √ √ √
  • 流水线权限 初始状态下,项目下各角色具有的流水线权限如下表所示: 角色 查看 创建 执行 修改 删除 分组 项目创建者 √ √ √ √ √ √ 项目经理 √ √ √ √ √ √ 开发人员 √ √ √ × × × 测试经理 √ × × × × × 测试人员 √ × × × × × 参与者 √ × × × × × 浏览者 √ × × × × × 运维经理 √ × × × × × 产品经理 √ × × × × × 系统工程师 √ √ √ √ √ √ Committer √ √ √ × × × 复制流水线需要同时具有创建流水线及修改源流水线的权限。 流水线的角色权限默认继承项目下各角色的流水线权限,并与项目下各角色的流水线权限保持联动,直到用户在流水线中修改了该流水线的角色权限为止。 流水线创建者默认拥有其创建的流水线的全部权限。
  • 策略权限 初始状态下,项目下各角色具有的项目级策略权限如下表所示: 角色 查看 创建 修改 删除 项目创建者 √ √ √ √ 项目经理 √ √ √ √ 开发人员 √ √ √ √ 测试经理 √ × × × 测试人员 √ × × × 参与者 √ × × × 浏览者 √ × × × 运维经理 √ × × × 产品经理 √ × × × 系统工程师 √ √ √ √ Committer √ √ √ √ 复制策略需要同时具有创建策略及修改源策略的权限。
  • 使用限制 单账号跟踪的事件可以通过云审计控制台查询。多账号的事件只能在账号自己的事件列表页面去查看,或者到组织追踪器配置的OBS桶中查看,也可以到组织追踪器配置的CTS/system日志流下面去查看。 用户通过云审计控制台只能查询最近7天的操作记录。如果需要查询超过7天的操作记录,您必须配置转储到对象存储服务(OBS),才可在OBS桶里面查看历史文件。否则,您将无法追溯7天以前的操作记录。 云上操作后,1分钟内可以通过云审计控制台查询管理类事件操作记录,5分钟后才可通过云审计控制台查询数据类事件操作记录。
  • 开始使用 登录云日志服务LTS控制台,查看创建的日志组、日志流。 图1 云日志服务LTS控制台 选择主机管理,单击“安装ICAgent”。详细步骤参考安装ICAgent。 图2 安装ICAgent 选择日志接入,单击“云主机ECS-文本日志”。详细步骤参考接入日志。 图3 接入日志 选择日志管理,单击创建的日志组的名称,在日志内容即可查询采集到的日志。 图4 查看日志 登录接收告警信息邮箱,单击订阅确认,即接收采集到的告警信息。 图5 告警信息 登录对象存储服务控制台,单击创建的OBS桶名称,即可查看保存的告警日志。 图6 对象存储服务控制台 图7 查看告警日志 父主题: 实施步骤
  • 使用RocksDB存储引擎的华为云DDS在执行大量增删改操作时,发现监控中出现磁盘来回波动、CPU毛刺的现象,这是为什么? RocksDB存储引擎下,所有的写入均为追加写,不管是更新还是删除,都不会直接修改原数据,而是追加写在尾端,因此同key可能会在磁盘上存在不同版本的值。追加写过程中,同一条数据的多版本同时存在,磁盘容量会上升。 不同版本的值最终会在新写入的数据量到达一定量后触发后台归并,即RocksDB的Compaction动作。归并数据动作是异步操作,当一轮运行结束后会将本轮涉及到的多版本数据进行归并合一,归并后会生成新的单版本数据数据文件,删除老的多版本数据文件,在生成新文件和删除老文件这段过渡期,新老文件会同时存在,即磁盘此时会短暂上涨,归并数据结束后,磁盘容量会即时下降。 归并数据操作本身会占用少量CPU资源,因此可能会出现轻微的CPU毛刺现象。 如果发现磁盘和CPU占用持续过高,请联系华为工程师处理。
  • 使用RocksDB存储引擎在典型业务场景下有哪些表现差异与优化建议? 表2描述了RocksDB相较于WiredTiger在一些典型业务场景下的表现差异与优化建议。 表2 典型业务场景下RocksDB的表现差异与优化建议 业务场景 RocksDB的表现差异 优化建议 示例 多文档扫描 RocksDB在文档扫描(docsExamined)多的业务场景下对CPU、IO等资源消耗相较于WiredTiger更多。 建议通过添加适当的索引进行优化,提高扫描效率,降低CPU、IO等资源的消耗。 例如,在coll表A字段没有添加索引的情况下以该字段为条件进行查询:db.coll.find({A: 1})。
  • RocksDB和WiredTiger两者有什么区别? 写机制的区别 WiredTiger存储引擎的数据结构为B+ tree,落盘数据中一个键(key)对应一个版本号(version),对某一个键(key)进行插入、更新或删除操作都是直接操作对应的数据节点。 Rocksdb存储引擎的数据结构为LSM-tree,写数据就像写日志,以追加写的方式进行。落盘数据除了一个键(key),值(value)之外,还有对应的版本号(version)。同一个键(key)在磁盘上有多个版本(version)的数据。业务层的插入、更新、删除操作,在Rocksdb侧都是写操作。这些多版本数据积压到一定阈值后,会触发后台自动归并,对多版本(version)的数据进行合并,这个行为就是RocksDB的Compaction。 数据组织的区别 WiredTiger存储引擎中一个集合(collection)的数据或者一个索引的数据对应一个磁盘文件,集合是多大,对应的文件就是多大。 RocksDB存储引擎下则没有集合(collection)维度,而是64M一个文件分布在磁盘上。
  • 华为云DDS 4.2及其以上版本将存储引擎切换为RocksDB会对业务产生影响吗? 功能方面:存储引擎是数据库的一个组件,负责管理数据在内存和磁盘中的存储方式。RocksDB和WiredTiger虽然是不同的存储引擎,数据库服务会封装存储引擎,极大兼容社区接口使用方式,开发者使用层面无使用差异感知,业务无差异影响。 性能方面:当前RocksDB存储引擎已经经过长期的社区演进,结合DDS团队对其定制化的开发,性能方面二者切换无明显差异,部分查询场景下RocksDB存储引擎表现更优,存储或计算资源使用方面或存在少量差异。
  • RocksDB优势在哪里? 表1从开源生态、存储空间、可定制化、内存高压场景、频繁更新删除场景、多表场景六个方面描述了RocksDB对比WiredTiger的优势。 表1 RocksDB与WiredTiger对比 存储引擎 RocksDB WiredTiger 开源生态 RocksDB相比WiredTiger有更好的开源生态(github stars),一些知名数据库比如TIDB/CRDB/YUGADB都采用了RocksDB做为存储引擎。 开源社区生态不如RocksDB。 存储空间 RocksDB数据写入过程中,部分业务场景会临时保存多个版本的数据,多版本数据会在后续做异步归并为最终版本,因此存储空间可能会存在临时上涨。 WiredTiger落盘只保留最新版本的数据,存储空间消耗相对少。 可定制化 RocksDB性能调优参数较多,支持根据业务的读写能力要求做定制化的参数修改。 WiredTiger性能调优参数较少。 内存高压场景 RocksDB读写性能稳定,不会随着内存压力变化。 WiredTiger需要频繁地刷脏页,进行内存与磁盘数据置换,引起读写性能波动比较大。 频繁更新删除场景 RocksDB在积攒了一定量的新写数据后,会自动异步触发后台compact线程对同一数据的多版本进行归并聚合,释放多余的磁盘空间,因此基本上不会出现磁盘碎片化问题。 WiredTiger在删除数据进行数据多版本归并聚合后,会空余出磁盘空间碎片,并且不会将这部分磁盘空间返回给操作系统,而是留待后续写入使用,磁盘碎片化问题较为明显。 多表场景 RocksDB支持10K以上的表及索引数量。 WiredTiger在表及索引数量达到1K以上时,读写性能会受到影响。
  • 推拉流记录 选择需要查看的时间、域名、应用名称和流名称。单击,即可查看到对应域名的推拉流断开记录,如图9所示。 各参数说明如表2所示。 由于数据量过大,最大查询周期为3天,最大查询跨度为3小时。 图9 推拉流断开记录 表2 参数说明 参数名 描述 状态 流的状态。 推流中/拉流中 推流断开/拉流断开 断开原因 流断开的原因。 类型 流的类型。 播流 推流 域名 推拉流域名。 应用名称 即推拉流地址中默认或自定义的AppName。 流名 即推拉流地址中自定义的StreamName。 开始时间 流开始推送/播放的时间点, 格式:YYYY/MM/DD HH:mm:ss.SSS [GMT]Z,如2023-05-16 14:39:42.629 GMT+08:00。 结束时间 流结束推送/播放的时间点, 格式:YYYY/MM/DD HH:mm:ss.SSS [GMT]Z,如2023-05-16 14:39:42.629 GMT+08:00。 客户端IP 推拉流端的IP地址。
  • 流播放画像 选择需要查看的域名、流名和时间,即可查看流播放画像信息,如图10所示。 各参数说明如表3所示。 支持查看最近31天的历史数据。 查询的时间跨度最长为1天。 当天直播数据建议在次日8:00后查询。 图10 流播放画像信息 表3 参数说明 参数名 描述 统计日期 统计所选日期00:00-23:59时间段内的播放画像信息。格式:YYYYMMDD,如20201104。 累计流量 播放视频消耗的总流量,单位为byte。 累计播放时长 视频的累计播放时长,单位为秒。 累计请求次数 视频的播放请求总数。 累计观看人数 观看视频的总人数。 峰值观看人数 观看视频的人数峰值。 峰值带宽 播放视频消耗的带宽峰值,单位为bps。 累计直播(推流)时长 直播的累计推流时长,单位为秒。
  • 上行带宽/流量 选择需要查看的时间、推流域名、区域、省份、运营商、应用名称、流名称、时间粒度及封装协议。单击页面右侧的“带宽”或“流量”,可以切换查看带宽、流量趋势图。 单击右侧的图标,可以导出具体数据。 支持查询最近365天的历史数据。 查询的时间跨度最长为31天。 最小统计粒度为5分钟,如2020-11-06 8:00:00~2020-11-06 8:04:59时间段内的数据会统计展示在2020-11-06 8:00:00这个统计点上,其中,带宽为用户所选粒度时间内的平均值,流量为用户所选粒度时间内的累计值。 导出数据暂不支持按运营商分类。 带宽用量趋势呈现的是所选域名的总上行带宽趋势,如图3所示。 图3 上行带宽趋势 流量用量趋势呈现的是所选域名的总流量趋势。您可以在流量趋势区域的下方,查看所选域名在查询时间段内的流量消耗,如图4所示。 图4 上行流量统计详情 流量表和流量趋势图中呈现的总流量,是将每5分钟粒度统计的流量进行合计(Byte),再换算成MB后,精确到小数点后两位。因此,可能与按5分钟粒度查询导出的流量表中“流量(MB)”列的合计值存在稍微的误差,这是由于计算时四舍五入导致。
  • 状态码 选择需要查看的时间、域名、省份、运营商和状态码,即可查看到趋势图,如图5所示。 支持查看最近7天的历史数据。 查询的时间跨度最长为1天。 支持选择多个域名同时查询,单次查询的域名总数不能超过10个。 最小统计粒度为1分钟,如2020-11-06 8:00:00~2020-11-06 8:00:59时间段内的数据会统计展示在2020-11-06 8:00:00这个统计点上。 趋势图中呈现的是所选域名在查询时间段内请求响应返回的状态码。 图5 状态码统计信息
  • 历史推流列表 选择需要查看的推流域名、时间、应用名称和流名称。单击,即可查看到对应推流域名的历史推流信息,如图8所示。 各参数说明如表1所示。 不支持查询正在推流的域名的历史推流详情。 支持查看最近7天的历史数据。 查询的时间跨度最长为1天。 图8 历史推流信息 表1 参数说明 参数名 描述 流名 直播流名称,即推流地址中自定义的StreamName。 域名 推流域名。 应用名称 即推流地址中默认或自定义的AppName。 开播时间 直播流开始推流到结束推流的时间段, 格式:YYYY-MM-DD hh:mm:ss - YYYY-MM-DD hh:mm:ss,如2020-11-06 14:39:42 - 2020-11-06 14:39:44。 类型 直播流的推送类型,包含主播推流和第三方CDN回源两种类型。 主播ip 推流端的IP地址。 音频编码 音频编码格式。 视频编码 视频编码格式。
  • 推流路数 选择需要查看的推流域名和时间,即可查看趋势图。 支持查询最近365天的历史数据。 查询的时间跨度最长为31天。 支持选择多个域名同时查询,单次查询的域名总数不能超过10个。 最小统计粒度为5分钟,如2020-11-06 8:00:00~2020-11-06 8:04:59时间段内的数据会统计展示在2020-11-06 8:00:00这个统计点上,其中,展示的数据为用户所选粒度时间段内的最大值。 趋势图中呈现的是所选域名推流到直播源站的总路数趋势,如图7所示。 图7 推流路数趋势
  • 观众数 选择需要查看的时间、播放域名、应用名称、流名称、封装协议、省份、运营商和时间粒度,即可查看趋势图。 仅支持查询FLV和RTMP流的在线人数。 支持查询最近365天的历史数据。 查询的时间跨度最长为31天。 仅支持选择单个域名进行查询。 统计的是独立IP数,最小统计粒度为1分钟,如2020-11-06 8:00:00~2020-11-06 8:00:59时间段内的数据会统计展示在2020-11-06 8:00:00这个统计点上。 趋势图中呈现的是所选域名的在线独立访客数趋势,如图6所示。 图6 在线独立访客数趋势
  • 下行带宽/流量 选择需要查看的时间、播放域名、区域、应用名称、流名称、时间粒度及封装协议。单击页面右侧的“带宽”或“流量”,可以切换查看带宽、流量趋势图。 单击右侧的图标,可以导出具体数据。 支持查询最近365天的历史数据。 查询的时间跨度最长为31天。 最小统计粒度为5分钟,如2020-11-06 8:00:00~2020-11-06 8:04:59时间段内的数据,会统计展示在2020-11-06 8:00:00这个统计点上。其中,带宽为用户所选粒度时间内的平均值,流量为用户所选粒度时间内的累计值。 直播流名称需要根据播放端实际拉取的流进行填写,例如,播放端拉取的是转码流,则“流名称”中需要填写的是转码流名称。 导出数据暂不支持按运营商分类。 带宽用量趋势呈现的是所选域名的总带宽趋势。您可以在带宽趋势区域的下方,查看所选域名在查询时间段内的下行带宽峰值,如图1所示。 图1 下行带宽统计详情 流量用量趋势呈现的是所选域名的总流量趋势。您可以在流量趋势区域的下方,查看所选域名在查询时间段内的流量消耗,如图2所示。 图2 下行流量统计详情 流量表和流量趋势图中呈现的总流量,是将每5分钟粒度统计的流量进行合计(Byte),然后换算成MB,精确到小数点后两位。因此,可能与按5分钟粒度查询导出的流量表中“流量(MB)”列的合计值存在稍微的误差,这是由于计算时四舍五入导致。
  • 虚拟私有云 虚拟私有云(Virtual Private Cloud,以下简称VPC)为弹性云服务器构建了一个逻辑上完全隔离的专有区域,您可以在自己的逻辑隔离区域中定义虚拟网络,为弹性云服务器构建一个逻辑上完全隔离的专有区域。您还可以在VPC中定义安全组、VPN、IP地址段、带宽等网络特性,方便管理、配置内部网络,进行安全、快捷的网络变更。同时,您可以自定义安全组内与组间弹性云服务器的访问规则,加强弹性云服务器的安全保护。 虚拟私有云更多信息,请参见《虚拟私有云用户指南》。
  • 什么是主机安全 主机安全服务(Host Security Service,HSS)是提升服务器整体安全性的服务,通过主机管理、风险防御、入侵检测、安全运营、网页防篡改功能,可全面识别并管理云服务器中的信息资产,实时监测云服务器中的风险,降低服务器被入侵的风险。 使用主机安全需要在云服务器中安装Agent。安装Agent后,您的云服务器将受到HSS云端防护中心全方位的安全保障,在安全控制台可视化界面上,您可以统一查看并管理同一区域内所有主机的防护状态和主机安全风险。
  • 怎样使用主机安全服务 您在使用主机安全服务前,需要先在弹性云服务器上安装Agent。针对新创建的云服务器和已有的云服务器,提供不同的安装方式: 场景一:新创建云服务器 购买弹性云服务器,选择部分操作系统的公共镜像时,系统推荐您配套使用主机安全服务(Host Security Service, HSS)。 开启“主机安全”需要设置“安全防护”参数: 免费开启主机安全基础防护:开启后,为您的主机提供四大安全防御能力,包括主机安全基础版防御(免费赠送一个月)、账号破解防护、弱口令检测、恶意程序检测等功能。 主机安全基础版免费使用期限结束后,该防护配额将自动释放,停止相应的实时防护能力。 如您需要保留或升级原有安全能力,建议您购买主机安全。详细情况,请参见主机安全的版本功能特性。 购买弹性云服务器时,默认设置该选项。 购买高阶防护:高阶防护属于企业版,需付费使用,支持漏洞修复、病毒查杀、等保必备。 不使用安全防护:若您不需要进行安全防护,可选择此选项。 选择主机安全后系统自动安装主机安全Agent,开启账号防御,启用主机安全服务的功能。 主机安全服务支持基础版、企业版、旗舰版和网页防篡改版 ,请参考主机安全服务版本差异。 若基础版或企业版不满足要求,您可以购买其他版本配额,在主机安全服务控制台切换不同版本,获取更高级的防护,且不需要重新安装Agent。 图1 开通主机安全 场景二:未配置主机安全的云服务器 对于已经创建完成的弹性云服务器,可能由于创建时尚未支持主机安全服务或未设置“安全防护”参数。如需使用主机安全,您需要手动安装Agent。 具体操作请参见手动安装Agent、手动开启防护。
  • 定期备份数据 数据备份是防止系统出现数据丢失,将全部或部分数据以其他方式保留的过程。本节以云备份方法为例,了解更多备份方法请参考云备份概述。 云备份可以为云服务器、云硬盘提供简单易用的备份服务,当发生病毒入侵、人为误删除、软硬件故障等事件时,可将数据恢复到任意备份点。保障用户数据的安全性和正确性,确保业务安全。 购买云服务器时启用云备份的方法: 购买云服务器时,设置开启云备份完成后,系统会将云服务器绑定至云备份存储库并绑定所选备份策略,定期备份弹性云服务器。 现在购买: 输入云备份存储库的名称:只能由中文字符、英文字母、数字、下划线、中划线组成,且长度小于等于64个字符。例如:vault-f61e。默认的命名规则为“vault_xxxx”。 输入存储库的容量:此容量为备份云服务器所需的容量。存储库的空间不能小于云服务器的空间。取值范围为[云服务器总容量,10485760]GB。 设置备份策略:在下拉列表中选择备份策略,或进入云备份控制台查看或编辑备份策略。 使用已有: 选择云备份存储库的名称:在下拉列表中选择已有的云备份存储库。 设置备份策略:在下拉列表中选择备份策略,或进入云备份控制台查看或编辑备份策略。 暂不购买:跳过云备份的配置步骤。如云服务器购买成功后仍需设置备份保护,请进入云备份控制台找到目标存储库,绑定服务器。 图5 设置云备份 已创建完成的云服务器创建云备份的方法: 备份云服务器可以通过“云服务器备份”和“云硬盘备份”功能实现: 云服务器备份(推荐):如果是对弹性云服务器中的所有云硬盘(系统盘和数据盘)进行备份,推荐使用云服务器备份功能,同时对所有云硬盘进行备份,避免因备份创建时间差带来的数据不一致问题。 云硬盘备份:如果对指定的单个或多个云硬盘(系统盘或数据盘)进行备份,推荐使用云硬盘备份功能,在保证数据安全的同时降低备份成本。
共100000条