华为云用户手册

  • IBM MQ 返回页首 任务的“集成模式”为“定时”或“实时”时,可以选择IBM MQ作为目标端数据源。 在创建任务页面中配置目标端信息。 表12 目标端IBM MQ信息 参数 配置说明 目标端实例 配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。 目标端集成应用 选择IBM MQ数据源所属的集成应用,在接入数据源时已配置。 目标端数据类型 选择“IBM MQ”。 数据源名称 选择接入数据源中已配置的IBM MQ数据源。 目标端类型 选择IBM MQ数据源的消息传递模型,可选择“Topic”和“Queue”。 目标端名称 填写待集成数据要发送到的Topic或Queue名称,请确保该Topic或Queue已存在。 元数据 定义写入到目标端的JSON格式数据中,每一个底层key-value型数据元素。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。 别名:对元数据的自定义名称。 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。 解析路径:元数据的完整路径,具体请参见元数据解析路径配置说明。 元数据解析路径配置说明: JSON格式数据中不含数组 如以下写入目标端的JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d,元素c和d为底层数据元素。 此场景下,元素c的解析路径需要设置为a.b.c,元素d的解析路径需设置为a.b.d。 { "a": { "b": { "c": "xx", "d": "xx" } } } JSON格式数据中含数组 如以下写入目标端的JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b[i].c,元素d的完整路径为a.b[i].d。元素c和d为底层数据元素。 此场景下,元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。 { "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } } 目标端为IBM MQ的配置与ActiveMQ的类似,配置示例可参考ActiveMQ配置示例。 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • MySQL 返回页首 任务的“集成模式”为“定时”或“实时”时,可以选择MySQL作为目标端数据源。 在创建任务页面中配置目标端信息。 表14 目标端MySQL信息 参数 配置说明 目标端实例 配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。 目标端集成应用 选择MySQL数据源所属的集成应用,在接入数据源时已配置。 目标端数据类型 选择“MySQL”。 数据源名称 选择接入数据源中已配置的MySQL数据源。 目标端表 选择已有的表,单击“选择表字段”,可以选择只需要集成的数据列字段。 批次号字段 选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。 该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。 批次号格式 批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。 是否清空表 开启后,每次调度任务会先清空目标端表。 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • DM 返回页首 任务的“集成模式”为“定时”或“实时”时,可以选择DM作为目标端数据源。 在创建任务页面中配置目标端信息。 表7 目标端DM信息 参数 配置说明 目标端实例 配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。 目标端集成应用 选择DM数据源所属的集成应用,在接入数据源时已配置。 目标端数据类型 选择“DM”。 数据源名称 选择接入数据源中已配置的DM数据源。 目标端表 选择待集成数据要写入的数据表。选择数据表后,单击“选择表字段”,可以选择只需要写入的数据列字段。 批次号字段 选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。 该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。 批次号格式 批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • Gauss100 返回页首 任务的“集成模式”为“定时”或“实时”时,可以选择Gauss100作为目标端数据源。 在创建任务页面中配置目标端信息。 表9 目标端Gauss100信息 参数 配置说明 目标端实例 配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。 目标端集成应用 选择Gauss100数据源所属的集成应用,在接入数据源时已配置。 目标数据类型 选择“Gauss100”。 数据源名称 选择接入数据源中已配置的Gauss100数据源。 Schema 选择数据源Schema。 目标端表 选择已有的表,单击“选择表字段”,可以选择只需要集成的数据列字段。 批次号字段 选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。 该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。 批次号格式 批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • DIS 返回页首 任务的“集成模式”为“定时”或“实时”时,可以选择DIS作为目标端数据源。 在创建任务页面中配置目标端信息。 表5 目标端DIS信息 参数 配置说明 目标端实例 配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。 目标端集成应用 选择DIS数据源所属的集成应用,在接入数据源时已配置。 目标端数据类型 选择“DIS”。 数据源名称 选择接入数据源中已配置的DIS数据源。 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • DWS 返回页首 任务的“集成模式”为“定时”或“实时”时,可以选择DWS作为目标端数据源。 在创建任务页面中配置目标端信息。 表6 目标端DWS信息 参数 配置说明 目标端实例 配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。 目标端集成应用 选择DWS数据源所属的集成应用,在接入数据源时已配置。 目标端数据类型 选择“DWS”。 数据源名称 选择接入数据源中已配置的DWS数据源。 目标端表 选择待集成数据要写入的数据表。选择数据表后,单击“选择表字段”,可以选择只需要写入的数据表字段。 批次号字段 选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。 该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。 批次号格式 批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。 是否清空表 每次调度任务时是否先清空目标表。 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • FTP 返回页首 任务的“集成模式”为“定时”时,可以选择FTP作为目标端数据源。 在创建任务页面中配置目标端信息。 表8 目标端FTP信息 参数 配置说明 目标端实例 配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。 目标端集成应用 选择FTP数据源所属的集成应用,在接入数据源时已配置。 目标端数据类型 选择“FTP”。 数据源名称 选择接入数据源中已配置的FTP数据源。 文件路径 填写FTP服务器中要访问的文件夹路径,例如“/data/FDI”。 文件名前缀 填写文件名前缀,与“文件名后缀”配合使用,用于定义写入FTP数据源的文件名称。 文件名后缀 选择文件名后缀,可选择不同的时间戳格式,与“文件名前缀”配合使用,用于定义写入FTP数据源的文件名称。 文件内容类型 选择要写入数据的数据文件内容类型,可选择“文本文件”和“二进制文件”。 文件类型 选择要写入数据的数据文件格式。当“文件内容类型”选择“文本文件”时,可选择“ CS V”和“TXT”;当“文件内容类型”选择“二进制文件”时,可选择“XLS”和“XLSX”。 文件名称字符编码 选择数据文件的名称编码方式。 文件内容字符编码 仅当“文件内容类型”选择“文本文件”时需要配置。 选择数据文件的内容编码方式。 文件分割符 仅当“文件内容类型”选择“文本文件”时需要配置。 填写数据文件中的字段分隔符,用于区分每行数据中的不同字段。默认使用英文逗号分割。 空格格式符 定义数据文件中的空格字符,以便写入数据时使用。 写模式 选择集成数据写入文件的模式。 Truncate:先删除文件,再重新创建文件并写数据。 Append:在已有文件中增量写入数据。 是否添加文件头 选择是否添加文件头。 文件头 仅当“是否添加文件头”选择“是”时需要配置。 填写文件头的内容信息,多个文件头信息需要用英文逗号隔开。 元数据 定义写入到目标端文件的数据字段。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。 别名:对元数据的自定义名称。 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。 目标端为FTP的配置示例如下图所示,id、name和info为要写入到FTP数据源的数据字段。 图3 FTP配置示例 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • ActiveMQ 返回页首 任务的“集成模式”为“定时”或“实时”时,可以选择ActiveMQ作为目标端数据源。 在创建任务页面中配置目标端信息。 表2 目标端ActiveMQ信息 参数 配置说明 目标端实例 配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。 目标端集成应用 选择ActiveMQ数据源所属的集成应用,在接入数据源时已配置。 目标端数据类型 选择“ActiveMQ”。 数据源名称 选择接入数据源中已配置的ActiveMQ数据源。 目标端类型 选择ActiveMQ数据源的消息传递模型,可选择“Topic”和“Queue”。 目标端名称 填写待集成数据要发送到的Topic或Queue名称,请确保该Topic或Queue已存在。 元数据 定义写入到目标端的JSON格式数据中,每一个底层key-value型数据元素。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。 别名:对元数据的自定义名称。 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。 解析路径:元数据的完整路径,具体请参见元数据解析路径配置说明。 元数据解析路径配置说明: JSON格式数据中不含数组 如以下写入目标端的JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d,元素c和d为底层数据元素。 此场景下,元素c的解析路径需要设置为a.b.c,元素d的解析路径需设置为a.b.d。 { "a": { "b": { "c": "xx", "d": "xx" } } } JSON格式数据中含数组 如以下写入目标端的JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b[i].c,元素d的完整路径为a.b[i].d。元素c和d为底层数据元素。 此场景下,元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。 { "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } } 以上面JSON格式数据中不含数组的样例为例,目标端为ActiveMQ的配置示例如下图所示。 图2 ActiveMQ配置示例 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • ArtemisMQ 返回页首 任务的“集成模式”为“定时”或“实时”时,可以选择ArtemisMQ作为目标端数据源。 在创建任务页面中配置目标端信息。 表3 目标端ArtemisMQ信息 参数 配置说明 目标端实例 配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。 目标端集成应用 选择ArtemisMQ数据源所属的集成应用,在接入数据源时已配置。 目标端数据类型 选择“ArtemisMQ”。 数据源名称 选择接入数据源中已配置的ArtemisMQ数据源。 目标端类型 选择ArtemisMQ数据源的消息传递模型,可选择“Topic”和“Queue”。 目标端名称 填写待集成数据要发送到的Topic或Queue名称,请确保该Topic或Queue已存在。 元数据 定义写入到目标端的JSON格式数据中,每一个底层key-value型数据元素。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。 别名:对元数据的自定义名称。 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。 解析路径:元数据的完整路径,具体请参见元数据解析路径配置说明。 元数据解析路径配置说明: JSON格式数据中不含数组 如以下写入目标端的JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d,元素c和d为底层数据元素。 此场景下,元素c的解析路径需要设置为a.b.c,元素d的解析路径需设置为a.b.d。 { "a": { "b": { "c": "xx", "d": "xx" } } } JSON格式数据中含数组 如以下写入目标端的JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b[i].c,元素d的完整路径为a.b[i].d。元素c和d为底层数据元素。 此场景下,元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。 { "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } } 目标端为ArtemisMQ的配置与ActiveMQ的类似,配置示例可参考ActiveMQ配置示例。 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • DB2 返回页首 任务的“集成模式”为“定时”或“实时”时,可以选择DB2作为目标端数据源。 在创建任务页面中配置目标端信息。 表4 目标端DB2信息 参数 配置说明 目标端实例 配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。 目标端集成应用 选择DB2数据源所属的集成应用,在接入数据源时已配置。 目标端数据类型 选择“DB2”。 数据源名称 选择接入数据源中已配置的DB2数据源。 目标端表 选择待集成数据要写入的数据表。选择数据表后,单击“选择表字段”,可以选择只需要写入的数据列字段。 批次号字段 选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。 该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。 批次号格式 批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • API 任务的“集成模式”为“定时”或“实时”时,可以选择API作为目标端数据源。 在创建任务页面中配置目标端信息。 表1 目标端API信息 参数 配置说明 目标端实例 配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。 目标端集成应用 选择API数据源所属的集成应用,在接入数据源时已配置。 目标端数据类型 选择“API”。 数据源名称 选择接入数据源中已配置的API数据源。 请求参数 构造API请求的参数定义,例如要集成到目标端的数据,需要在Body中携带。请根据API数据源的定义如实填写。 Params:请求URL中问号后面定义的参数,只能对参数传递固定值。Params参数的填写跟Body参数的form-data方式类似。 Headers:RESTful请求的消息头参数,只能对参数传递固定值。Headers参数的填写跟Body参数的form-data方式类似。 Body:RESTful请求消息体的底层参数,与“数据根字段”组成发给目标端API的Body消息体,源端数据通过Body参数传递到目标端。Body支持“form-data”和“raw”两种形式,具体请参见Body参数配置说明。 数据根字段 发送到目标端的JSON格式Body消息体中,参数字段集上层公共字段的路径。“数据根字段”与“请求参数”中配置的Body参数组成发给目标端API的Body消息体。 例如Body参数为:{"c":"xx","d":"xx"},数据根字段定义a.b,则封装后的请求数据为{"a":{"b":{"c":"xx","d":"xx"}}}。 Body参数配置说明: form-data方式: “键”填写为API数据源定义的Body参数名称,“键”的值设置为空。“键”在Mapping信息中作为“目标字段名”,以此映射和传递源端字段的值。 图1 form-data方式 raw方式: raw方式持JSON、Array和嵌套JSON格式。填写发送给目标端API的JSON格式Body示例,ROMA Connect根据示例以及Mapping映射配置,替换示例中参数的值,最终将源端数据传递给目标端。raw方式的Body示例如下。 JSON格式: { "id": 1, "name": "name1" } Body填写JSON,数据根字段无需写值,Mapping信息填写字段名。 Array格式: { "record":[ { "id": 1, "name": "" } ] } 数据根字段写入JSONArray对象名,例如:record。Mapping信息填写字段名。 嵌套JSON格式: { "startDate":"", "record":[ { "id": 1, "name": "" } ] } 数据根字段无需填写值,Mapping信息中,json字段直接填写字段名,jsonArray中的字段填写具体路径,例如:record[0].id 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • 概述 本节主要提供数据集成任务目标端信息的配置说明。目标端信息用于告诉ROMA Connect如何将待集成的数据写入到目标端,包括数据源、数据存储信息等。对于不同的数据源类型,其目标端信息配置有所差异。 数据迁移过程中若目标端数据存在主键冲突,则根据主键自动更新数据。 支持“定时&实时”模式的目标端数据类型 仅支持“定时”模式的目标端数据类型 API ActiveMQ ArtemisMQ DB2 DIS DWS DM Gauss100 HL7 HANA IBM MQ Kafka MySQL MongoDB MQS MRS Hive MRS HDFS MRS HBase MRS Kafka Oracle PostgreSQL Redis RocketMQ RabbitMQ SQL Server GaussDB (for MySQL) 自定义数据源 FTP OBS
  • 操作步骤 在实例控制台的“实例信息”页面中,选择“基本信息”页签,可查看和编辑实例的基本信息。 表1 ROMA Connect基本信息 内容 内容说明 ROMA Connect实例信息 实例的基本信息,包括实例名称、实例ID、实例规格、描述、可用区、创建时间、企业项目。 您可以根据实际需要修改“实例名称”、“描述”等。 您可以单击“实例ID”右侧的“”复制实例ID信息。 虚拟私有云 实例所关联的VPC,您可以单击VPC名称跳转查看VPC的具体配置信息。 子网 实例所关联的子网,您可以单击子网名称跳转查看子网的具体配置信息。 安全组 实例所关联的安全组。您可以单击安全组名称跳转查看安全组的具体配置信息,也可以单击“更改”按钮,绑定新的安全组。 路由 配置私有网段。ROMA Connect实例创建完成后,默认能够与创建时指定的VPC子网网段进行互通,若有额外的私有网段需要与实例互通,可通过该配置项进行路由配置。 连接数 实例中占用连接数的各资源数量,具体的资源和连接数换算关系请参见连接数说明。 付费信息 实例的计费模式。 消息存储空间 实例的MQS消息存储空间信息,包括存储类型和存储空间使用率(百分比)。 MQS基本信息 实例的MQS的基本配置信息。 您可以根据实际需要修改“容量阈值策略”。 连接地址 实例的相关对接地址,包括: ROMA Connect连接地址 设备集成LINK连接地址 服务集成APIC连接地址 服务集成 APIC内网连接地址(自定义后端组件和网关组件) 数据集成 FDI内网出口地址 消息集成 MQS内网连接地址 消息集成 MQS公网连接地址(仅绑定弹性IP地址时展示) 消息集成 MQS Connector连接地址(仅联系技术支持开通白名单后展示) 您可以单击连接地址右侧的“”复制连接地址信息。 公网访问 实例绑定的弹性IP地址。 若实例未绑定弹性IP地址,你可以单击地址右侧的“”,绑定弹性IP地址。 若实例已绑定弹性IP地址,您可以单击地址右侧的“”复制地址信息。 若实例已绑定弹性IP地址,您可以单击地址右侧的“解绑”按钮,解绑弹性IP地址。 公网出口 数据集成FDI和服务集成APIC访问公网数据或服务的地址,实例创建时自动配置。 表2 ROMA Site协同版基本信息 内容 内容说明 ROMA Connect实例信息 实例的基本信息,包括实例名称、实例ID、实例规格、描述、可用区、创建时间。 您可以根据实际需要修改“实例名称”、“描述”等。 您可以单击“实例ID”右侧的“”复制实例ID信息。 付费信息 实例的计费模式。 连接数 实例中占用连接数的各资源数量,具体的资源和连接数换算关系请参见连接数说明。 MQS基本信息 实例的MQS的基本配置信息。您可以根据实际需要修改“容量阈值策略”。 连接地址 实例的相关对接地址,包括: ROMA Connect连接地址 设备集成LINK连接地址 服务集成APIC连接地址 服务集成 APIC内网连接地址(自定义后端组件和网关组件) 消息集成 MQS内网连接地址 消息集成 MQS公网连接地址(仅绑定弹性IP地址时展示) 您可以单击连接地址右侧的“”复制连接地址信息。
  • 方案概述 ROMA Site协同版实例规格变更目前仅支持实例从3VM的基础版扩容为4VM的专业版,即增加一台同规格虚拟机。各集成组件强制依赖实例,不可单独变更。 ROMA Site协同版实例规格变更包含站点规格变更和实例规格变更两部分。其中实例规格变更时,又可分为新站点容器扩容和已有容器升级两种场景。 新站点容器扩容:会在新增节点上部署新的服务容器。 已有容器升级:会对已有容器的CPU和内存分配有较大的改动,大部分组件都会有变化。
  • 变更影响 ROMA Site实例规格变更过程中对系统的影响如表1所示。 表1 变更过程的影响 组件 影响说明 ROMA Site整体 ROMA Site实例规格变更过程中,服务集群内部只有部分容器对外提供服务,降低ROMA Site性能和可靠性,建议客户在业务低峰时间进行升级。 FDI ROMA Site实例规格变更过程中,数据源、数据集成任务上的操作会出现部分请求错误,不影响已部署业务。 ROMA Site实例规格变更过程中,正在执行中的数据集成任务可能会中断,部分执行间隔较短(如调度计划1分钟一次)的任务执行时间存在5-6分钟波动,导致单次任务执行时间会覆盖多次调度计划。建议先停止所有数据集成任务,等待规格变更完成后再重新启动任务。 如果定时任务正好在规格变更过程中调度时,部分调度日志显示时间可能比用户制定的调度时间晚2-3分钟,为正常现象,属于Quartz补偿调度任务机制影响。 ROMA Site实例规格变更过程中,部分调度日志显示会存在展示异常,实际该次任务正常调度,数据正常读取写入。 ROMA Site实例规格变更过程中,MQS升级会影响FDI内部topic的创建,导致任务调度跳过,属于正常现象。 ROMA Site实例规格变更过程中,fdiplugin升级完成后,可能出现下一次正常调度跳过情况,这是由于quartz补偿调度的任务还在执行中导致的,属于正常现象。 APIC ROMA Site实例规格变更过程中,查询类操作不受影响,其他创建、修改、删除等操作无法操作。 ROMA Site实例规格变更过程中,用户的长链接API业务会中断,如果客户端有重试机制,则业务不受影响。 ROMA Site实例规格变更过程中,已有周期内的流量控制和客户端配额的计数器清零,最高会出现两倍的阈值,需要用户在规格变更前评估系统承载能力,可临时调整阈值为原来的一半。 ROMA Site实例规格变更过程中,可能出现自定义后端的连接闪断,或出现数据后端权限校验失败问题(错误信息为:Error Return Object: xxx, Executor Exception: Access denied. Exception during pool initialization)。若API使用了自定义认证,可能会偶现自定义认证失败(错误信息为:Internal server error: xxx auth failed)。如果客户端有重连机制,则重连时可以恢复正常。 ROMA Site实例规格变更过程中,如果客户端调用了使用MQSUtils的函数API,可能会持续收到5xx响应码或者异常信息“com.huawei.livedata.util.MqsUtilsException”和“org.apache.rocketmq.client.exeception.MQSClientException”,待规格变更完成后可恢复。建议客户端延迟20-30分钟后重试,或者将函数API中的MQSUtils替换为Kafka。 LINK ROMA Site实例规格变更过程中,查询类业务不受影响,但不建议在规格变更过程中进行创建、更新、删除、导入等操作。 ROMA Site实例规格变更过程中,设备连接可能会中断。如果设备端有重连机制,重连时可以恢复连接。
  • 方案概述 由于服务端重启、网络抖动等原因造成客户端网络连接断开时,将导致客户端无法正常生产和消费消息。 通过在客户端侧设置重连机制,使客户端在网络连接断开时自动恢复连接,降低网络故障对业务的影响。以下场景会触发网络自动恢复: 在连接的I/O循环中抛出未处理的异常 检测到Socket读取超时 检测到服务端心跳丢失 4.0.0及以上版本的Java客户端默认支持网络自动恢复,无需设置。 如果应用程序使用Connection.Close方法关闭连接,则不会启用或触发网络自动恢复。
  • 网络异常时RabbitMQ客户端重试连接示例代码 客户端和服务端的初始连接失败,不会触发自动恢复,可在客户端编写对应的应用程序代码,通过重试连接来解决初始连接失败的问题。 以下示例演示了使用Java客户端通过重试连接解决初始连接失败的问题。 ConnectionFactory factory = new ConnectionFactory(); // 对于4.0.0版本之前的RabbitMQ Java客户端,开启自动恢复功能 factory.setAutomaticRecoveryEnabled(true); // 配置连接设置 try { Connection conn = factory.newConnection(); } catch (java.net.ConnectException e) { Thread.sleep(5000); // apply retry logic }
  • 计费构成分析 服务版本: 边缘服务的企业版价格为60000USD/月。 则在5~6月份,服务版本产生的费用为:60000。 扩展包: 扩展包计费跟版本无关,仅与设置的个数和购买时长有关,因此升级版本,增值包费用不变。 则在5~6月份,扩展包产生的费用为:150 + 70 = 220 USD 请求数和流量: 请求数和流量为按需计费,仅与实际使用情况有关。 则在5~6月份,产生的费用为:10*0.1 + 50*0.27 = 14.5 USD 由此可见,在5~6月份,边缘安全总共产生的费用为:60000 + 220 + 14.5 = 60234.5 USD
  • 背景信息 视频拖拽多应用于 视频点播 场景,当您观看视频需要随意拖拽播放进度且不影响观看效果时,您可以配置视频拖拽功能。 如果您配置了视频拖拽,在观看视频时拖拽播放进度时,客户端会向服务器发起类似如下请求: http://www.example.com/test.flv?start=50 此时将返回从第50字节开始的数据。如果CDN节点已缓存本视频,则节点直接将该视频返回给用户。 开启视频拖拽需同步开启忽略参数配置,即配置节点缓存规则中mp4、flv的文件配置需为“忽略参数”。 开启视频拖拽需要源站支持Range请求。 支持的文件格式为:mp4、flv。 表1 文件格式 文件格式 Meta信息 start参数说明 示例 MP4 源站视频的meta信息必须在文件头部,不支持meta信息在尾部的视频。 start参数表示时间,CDN会自动定位到start参数所表示时间的前一个关键帧(如果当前start不是关键帧)。start参数的单位是秒,支持以小数表示,例如start=1.01,表示开始时间是1.01秒。 http://www.example.com/test.mp4?start=50 表示从第50秒开始播放。 FLV 源站视频必须带有meta信息。 start参数表示字节,CDN会自动定位到start参数所表示字节的前一个关键帧(如果当前start不是关键帧所在位置)。 http://www.example.com/test.flv?start=500 表示从第500字节开始播放。
  • 配置示例 域名 www.example.com开启回源跟随,配置如下: 用户请求www.example.com/cdn.jpg文件,未命中缓存,节点回源请求资源。如果源站返回HTTP Response状态码301/302,重定向跳转地址为www.example.com/test/cdn.jpg。 节点收到301/302状态码后,直接向需要跳转的地址发起请求。 节点获取到资源后,返回给用户,并缓存到节点。 如果用户B再请求www.example.com/cdn.jpg文件,直接命中缓存,节点将资源返回给用户。 域名www.example.com未开启回源跟随,配置如下: 用户请求www.example.com/cdn.jpg文件,未命中缓存,节点回源请求资源。如果源站返回HTTP Response状态码301/302,重定向跳转地址为www.example.com/test/cdn.jpg。 节点直接将HTTP Response状态码301/302返回给用户,由客户端向重定向跳转地址发起请求。 如果重定向跳转地址的域名未接入CDN,则节点不能缓存该资源,不会有加速效果。 如果用户B请求www.example.com/cdn.jpg文件,重复以上流程。
  • 背景信息 如果您的源站地址因业务需求做了301/302 重定向,CDN的回源请求会返回301/302状态码,当您开启回源跟随后,CDN节点会先跳转到301/302对应地址获取资源,缓存后再返回给用户。开启或未开启回源跟随CDN的处理如下: 未开启:CDN会将301/302对应跳转地址直接返回给用户,让用户自己去请求跳转地址的资源。如果该跳转地址域名未加入CDN,则该请求过程不会有加速效果。 已开启:CDN会先跳转到301/302对应地址获取用户所需资源后缓存至节点并返回给用户,当其他用户再次请求同样资源时会直接命中节点缓存。
  • 配置示例 示例1:加速域名www.example.com的回源URL改写配置如下图所示。 原始请求:https://www.example.com/test/a.txt 改写后的回源请求:https://www.example.com/test/b.txt 示例2:加速域名www.example.com的回源URL改写配置如下图所示。 原始请求:https://www.example.com/test/aaa/bbb.mp4 改写后的回源请求:https://www.example.com/newtest/aaa/bbb.mp4 示例3:加速域名www.example.com的回源URL改写配置如下图所示。 原始请求:https://www.example.com/test/aaa/bbb.txt 改写后的回源请求:https://www.example.com/new.jpg 示例4:加速域名www.example.com的回源URL改写配置如下图所示。 原始请求:https://www.example.com/123.html?id=3 改写后的回源请求:https://www.example.com/thread0/123.html?id=3
  • 配置示例 配置场景1:某客户的域名“www.example.com”配置了 CDN加速 ,缓存规则配置见下图。 配置结果:网站首页不缓存,所有页面均不会忽略URL参数。 配置场景2:设置某个类型的文件不缓存 某客户的域名“www.example.com”配置了CDN加速,由于业务需求,需要对“.do”格式的文件不缓存,同时所有文件都忽略URL参数。 需要在CDN控制台增加一条文件名后缀为“.do”的缓存规则,缓存过期时间设置为“0”。 新规则仅对后续资源缓存生效,新规则配置完成后,建议您刷新“.do”文件所在的URL或者目录,新规则才可以对所有“.do”文件生效。 某客户配置了CDN加速,发现登录界面无限循环,无法登录,停用CDN加速后,可以正常登录。 这是因为CDN节点缓存了登录界面导致的,需要在控制台增加一条针对登录界面的缓存规则,缓存过期时间设置为“0”。以华为云控制台登录界面为例,华为云控制台的登录页面为“https://auth.huaweicloud.com/authui/login.html#/login”,在控制台增加一条全路径:/authui/login.html#/login,缓存过期时间为“0”的缓存规则。 配置场景3:某客户加速域名www.example.com设置了如下图的缓存规则,不知道哪一个规则生效。 用户访问www.example.com/test/cdn.jpg,虽然所有文件、文件名后缀、全路径三条规则都匹配到了,但是由于全路径的优先级为8,在三条规则里优先级最高,所以系统最终匹配全路径/test/*.jpg这条规则。
  • 背景信息 CDN节点的缓存策略遵循HTTP标准协议,通过HTTP响应头中的Cache-control: max-age的字段来设置CDN节点上数据的缓存时间。添加缓存规则让CDN用户可以对指定的业务做定制化的数据缓存时间管理。合理的配置缓存时间,能够有效的提升命中率,降低回源率,节省用户的带宽。 当用户向CDN节点请求数据时,CDN节点会判断缓存数据是否过期。如果缓存数据未过期,则直接将缓存数据返回给用户,提升获取速度;否则,CDN节点就会向源站发出回源请求,从源站请求最新数据,更新本地缓存,并将最新数据返回给用户。
  • 注意事项 每个域名最多可添加60条缓存规则。 CDN缓存过期时间会对“回源率”产生直接的影响。如果CDN缓存过期时间过短,CDN节点上的数据会经常失效,导致频繁回源,增加了源站的负载,同时也增大了访问延时;如果CDN缓存过期时间过长,会带来数据更新时间慢的问题。 缓存过期时间设置为0时,该文件的所有请求都将回源,可能存在加速业务中断的风险。 节点缓存的资源,可能会由于热度较低而被提前从CDN节点删除。 如果您修改了缓存规则,请注意: 新的规则仅对后面缓存的资源生效,已经缓存的资源需要等缓存过期后,再次缓存才会遵循新的缓存规则。 如果您想要新的规则对所有资源(包括节点已缓存资源)立即生效,请在修改缓存规则后执行缓存刷新操作。
  • 适用场景 状态码缓存时间功能主要适用于源站响应异常状态码的场景。当源站运行正常时,CDN回源请求资源后将按照设置的缓存规则将资源缓存到节点,再次访问相同资源时不会触发回源。当源站响应异常,且不希望所有请求都由源站响应,可以设置状态码缓存时间,减轻源站压力。 典型应用:图片abc.jpg已从源站删除,CDN节点无缓存,且持续有用户在访问该资源,那么所有访问都将会回源,由源站响应4xx状态码,增加源站压力。此时如果在CDN配置4xx状态码缓存时间,用户再次请求资源将直接由CDN节点响应4xx状态码,无需回源。
  • 注意事项 如果加速域名的资源在CDN节点不缓存,即使设置了状态码缓存时间,也无法缓存客户端请求该资源时产生的状态码。 后台有特殊配置的域名暂不支持配置状态码缓存时间。 业务类型为全站加速的域名不支持配置状态码缓存时间。 CDN默认缓存404、500、502、504状态码3s,其他状态码默认不缓存。 是否默认缓存404状态码依赖头域设置,如果带有X-HTTP-Method-Override、X-HTTP-Method、X-Method-Override头域,默认不缓存,反之则缓存3s。 如果域名的某个资源URL参数设置为“忽略参数”,当客户端请求返回的状态码(例如400)被缓存时,在缓存时间内所有该资源的请求均返回该状态码(400),请根据业务情况合理设置状态码缓存时间。 当前支持修改以下状态码的缓存时间: 4XX:400、401、403、404、405、407、414、416、451。 5XX:500、501、502、503、504、509、514。 3XX:301、302。
  • 背景介绍 Etag是URL的Entity Tag,用于标示URL对象是否改变。 域名接入CDN加速后,客户端首次访问时CDN节点会回源请求数据返回给用户,同时将资源缓存到CDN节点。在设置的缓存过期时间内,当用户再次请求资源时,CDN会将节点缓存的资源返回给客户端,不需要回源。当CDN节点缓存的资源过期后: 开启“回源是否校验ETag”:客户端再次请求该资源时,CDN会校验ETag值。如果ETag、Last-Modified和Content-Length值都没有变化,CDN将继续返回给用户节点缓存的资源,无需回源,降低回源率,减轻源站压力;如果ETag、Last-Modified和Content-Length其中一个值改变,CDN节点都会回源。 未开启“回源是否校验ETag”:客户端再次请求该资源时,CDN不会校验ETag值。如果Last-Modified和Content-Length的值都没有变化,CDN将继续返回给用户节点缓存的资源;如果Last-Modified和Content-Length其中一个值改变,CDN节点都会回源。
  • 注意事项 CDN默认开启“回源是否校验ETag”。 业务类型为全站加速的域名不支持配置回源是否校验ETag。 如果加速域名开启了Range回源,CDN节点回源时获取到资源不同分片的Last-Modified值不一致,CDN将会判定资源发生变化 ,为避免将错误的资源返回给客户端 ,CDN会中断连接 ,客户端访问也将中断。如果遇到类似问题,请根据业务情况选择以下措施规避: 关闭Range回源。 如果资源存放在不同的源站,请将资源迁移到同一个源站。 回源时不校验Last-Modified的值,如需关闭校验,请提交工单申请。
  • 背景信息 Range信息的作用是在HTTP请求头中指定返回数据的范围,即第一个字节的位置和最后一个字节的位置。如:Range: bytes=0-100就是请求该文件的前101个字节的数据内容。 开启Range回源后,当客户端请求某资源,如果CDN节点上未缓存该资源或资源已过期,节点回源时会采用Range请求,从源站分段获取用户需要的部分资源并缓存到CDN节点上。 Range回源能有效缩短大文件的分发时间,提升回源效率,减少回源消耗。
共100000条