华为云用户手册

  • 本地调试 本地调试是指以Postman方式调用应用侧接口为例介绍如何使用 设备接入服务 。 具体步骤如下: 步骤1:开通设备接入服务。访问设备接入服务,单击“管理控制台”后开通服务。 步骤2:创建产品。创建一个MQTT协议的产品。 步骤3:配置环境。下载并安装Postman,Postman建议使用7.17.0版本。 步骤4:调用服务。使用Postman调用API接口,查看返回结果或状态码与错误码。 步骤1:开通设备接入服务 目前设备接入服务仅在华北-北京四、华东-上海一、华南-广州、华南-广州-友好用户、亚太-曼谷、亚太-新加坡、中国-香港、非洲-约翰内斯堡环境上线。 步骤2:创建产品 调用接口前,需要先在 物联网平台 创建一款产品。 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。 选择左侧导航栏的“产品”,单击“创建产品”。 按照页面提示填写参数,创建一个MQTT协议的产品,然后单击“确定”。 基本信息 所属资源空间 平台自动将新创建的产品归属在默认资源空间下。如需归属在其他资源空间下,下拉选择所属的资源空间。如无对应的资源空间,请先创建资源空间。 产品名称 自定义。长度不超过64,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。 协议类型 建议选择MQTT。 数据格式 选择JSON。 所属行业 请根据实际情况选择。 所属子行业 请根据实际情况选择。 设备类型 请根据实际情况选择。 高级配置 产品ID 定制ProductID,用于唯一标识一个产品。如果携带此参数,平台将产品ID设置为该参数值;如果不携带此参数,产品ID在物联网平台创建产品后由平台分配获得。 产品描述 产品描述。请根据实际情况填写。 步骤3:配置环境 下载并安装Postman,详细操作请参考安装并配置Postman。 步骤4:调用服务 配置完Postman后,模拟应用服务器以HTTPS协议接入物联网平台,调测以下API接口: “获取 IAM 用户Token”接口 “查询IAM用户可以访问的项目列表”接口 “创建产品”接口 “查询产品”接口 “创建设备”接口 “查询设备”接口
  • 接入桌面有怎样的网络要求? 接入桌面的网络要求如表1所示。为保障良好的用户体验,网络QoS建议至少满足良好等级,建议企业用户通过专线接入。 表1 接入网络QoS要求 等级 网络QoS要求 用户体验 优秀 丢包率小于等于0.01%。 往返时延小于等于30毫秒。 网络抖动小于等于10毫秒。 基本办公流畅(Word、Excel、记事本等)。 音视频体验流畅。 外设支持好,U盘等存储设备使用、操作流畅。 良好 丢包率小于等于0.1%。 往返时延小于等于50毫秒。 网络抖动小于等于10毫秒。 基本办公流畅(Word、Excel、记事本等)。 音视频体验可用(偶现卡顿)。 外设支持一般,存在识别缓慢,U盘等存储设备操作略微卡顿,U盘复制速度较慢。 基本 丢包率小于等于0.3%。 往返时延小于等于100毫秒。 网络抖动小于等于40毫秒。 基本办公可用(Word、Excel、记事本等)。 音视频体验卡顿(QQ音乐、暴风影音等)。 外设识别困难,操作卡顿,基本不可用(U盘、摄像头等)。 父主题: 管理员常见问题
  • 2024年05月 序号 功能 功能描述 阶段 相关文档 1 Flexus应用服务器 L实例 新增功能 支持批量续费、退订。 支持批量重装操作系统。 公测 为Flexus L实例续费 退订Flexus L实例 2 Flexus应用服务器L实例新增多种登录方式 Linux系统云主机支持CloudShell等多种登录方式。 Windows系统云主机支持RDP文件等多种登录方式。 公测 通过CloudShell登录Linux系统Flexus L实例 通过RDP文件登录Windows系统Flexus L实例
  • 2024年04月 序号 功能 功能描述 阶段 相关文档 1 Flexus云服务器X实例支持Windows Server市场镜像 Windows Server操作系统是来自云商店的非自营镜像,该服务由第三方提供。为方便您选用,在公共镜像中提供入口。 商用 Flexus X实例镜像概述 2 Flexus云服务器X实例新增功能 支持对接任务中心 支持云服务器组 支持定时删除 商用 查看失败信息 管理Flexus云服务器X实例云服务器组 购买Flexus云服务器X实例 3 Flexus云服务器X实例支持包年/包月计费模式 包年/包月是一种预付费模式,即先付费再使用,按照订单的购买周期进行结算。 商用 计费说明
  • 2023年9月 序号 功能名称 功能描述 阶段 相关文档 1 Flexus应用服务器L实例支持重装操作系统 云耀云服务器L实例支持重装操作系统功能,使用系统镜像创建的云耀云服务器L实例操作系统运行异常时,您可以使用重装系统功能恢复操作系统。 公测 重装操作系统 2 Flexus应用服务器L实例支持数据盘、云备份扩容 当已有数据盘、云备份容量不足时,您可以扩大该数据盘、云备份的容量。 公测 扩展数据盘容量 扩展云备份容量 3 Flexus应用服务器L实例支持增加数据盘 云耀云服务器L实例没有数据盘时,支持新增加一块数据盘。 公测 增加数据盘 4 Flexus应用服务器L实例支持自动续费功能 云耀云服务器L实例支持自动续费功能。自动续费可以减少手动续费的管理成本,避免因忘记手动续费而导致云耀云服务器L实例或云耀负载均衡被自动删除。 公测 自动续费 5 Flexus应用服务器L实例控制台体验优化 资源卡片样式、图标优化;资源卡片列表支持分页。 公测 控制台介绍
  • 2024年06月 序号 功能 功能描述 阶段 相关文档 1 Flexus云服务器X实例支持性能模式 Flexus云服务器X实例支持开启性能模式,开启性能模式后,您需要多支付一些费用,从而可以获得极致稳定的性能保障。 商用 使用Flexus X实例性能模式 2 Flexus应用服务器L实例新增镜像 Flexus应用服务器L实例新增Node.js 运行环境、在线学习系统Moodle、网站内容管理系统Joomla、项目管理系统Redmine、知识创作与内容变现系统Ghost、可道云企业网盘Kodbox、CRM系统EspoCRM 7款应用镜像。 公测 镜像概述
  • 修订记录 发布日期 更新特性 2024-06-30 第二十次正式发布,包含以下内容: 新增什么是逻辑会话(Logical Sessions) 2024-05-30 第十九次正式发布,包含以下内容: 新增DDS的监控指标采集粒度是多少 2024-03-30 第十八次正式发布,包含以下内容: 新增WiredTiger引擎脏数据的缓存过高告警恢复手段 2023-10-30 第十七次正式发布,包含以下内容: 新增DDS是否支持$round函数 2023-03-30 第十六次正式发布,包含以下内容: 新增如何管理均衡器Balancer 2022-06-30 第十五次正式发布,包含以下内容: 新增资源冻结/释放/删除/退订 2021-12-30 第十四次正式发布,包含以下内容: 新增如何找回DDS丢失的备份数据。 2021-10-30 第十三次正式发布,包含以下内容: 新增DDS支持修改时区吗。 新增如何使用MapReduce命令。 2021-05-30 第十二次正式发布,包含以下内容: 新增什么是DDS实例的只读状态? 新增应用程序是否需要支持自动重连数据库。 2021-03-30 第十一次正式发布,包含以下内容: 新增DDS是否支持TTL索引清理过期数据。 2020-11-30 第十次正式发布,包含以下内容: 新增DDS实例连接失败怎么办。 2020-08-30 第九次正式发布,包含以下内容: 新增分片内存超过90%产生告警,如何消减。 2020-07-30 第八次正式发布,包含以下内容: 新增副本集主备节点之间的数据同步方式是什么。 2020-05-30 第七次正式发布,包含以下内容: 新增DDS是否支持多可用区部署。 2020-04-30 第六次正式发布,包含以下内容: 新增删除和退订实例的区别是什么。 2019-11-11 第五次正式发布,包含以下内容: 新增集群和副本集在什么情况会触发主备切换。 新增实例的连接数满导致实例连接失败,如何处理?。 新增DDS集群持续写入数据后查询报错怎么处理。 修改用户平时需要关注实例的哪些性能指标。 新增DDS实例删除后,手动备份是否继续收费。 2019-10-18 第四次正式发布,包含以下内容: 新增如何查询及限制连接数。 新增如何安装Robo 3T工具。 2018-11-02 第三次正式发布,包含以下内容: 修改如何安装MongoDB客户端。 2018-05-04 第一次正式发布。
  • 设置预取值 以下示例演示在Java客户端为单个消费者设置预取值为10。 ConnectionFactory factory = new ConnectionFactory(); Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); //设置预取值为10。 channel.basicQos(10, false); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume("my_queue", false, consumer); 在Java客户端中,global的默认值为false,因此以上示例可以简单地写为channel.basicQos(10)。 global取值的含义如下: false:分别作用于通道上的每个新消费者。 true:在通道上的所有消费者之间所共享。
  • 预取值设置建议 如果您只有一个或很少几个消费者在处理消息,建议一次预取多条消息,尽量让客户端保持忙碌。如果您的处理时间和网络状态稳定,则只需将总往返时间除以每条消息在客户端的处理时间即可获得估计的预取值。 在消费者多且处理时间短的情况下,建议使用较低的预取值。过低的预取值会使消费者闲置,因为消费者在处理完消息后需要等待下一批的消息到达。过高的值可能会使单个消费者忙碌,其他消费者处于空闲状态。 在消费者多且处理时间很长的情况下,建议您将预取值设置为1,以便消息在所有消费者间均匀分布。
  • 仲裁队列与镜像队列的差异 仲裁队列是RabbitMQ 3.8版本引入的队列类型,它与镜像队列拥有类似的功能,为RabbitMQ提供高可用的队列。镜像队列有一些设计上的缺陷,这也是RabbitMQ提供仲裁队列的原因。 镜像队列主要的缺陷在于消息同步的性能低。 镜像队列包含一个主队列和多个从队列,当生产者向主队列发送一条消息,主队列会将消息同步给从队列,所有的从队列都保存消息后,主队列才会向生产者发送确认。 RabbitMQ使用集群部署时,如果其中一个节点故障下线,待它消除故障重新上线后,它保存的所有从队列的数据都会丢失。此时运维人员需要选择是否同步主队列的数据到从队列中,如果不同步数据,会增加消息丢失的风险。如果同步数据,同步时队列是阻塞的,无法对其进行操作。当队列中存在大量堆积消息时,同步会导致队列几分钟、几小时或者更长时间不可用。
  • 配置仲裁队列的长度 通过配置Policy或者队列属性的方式可以限制仲裁队列的长度和在内存中保存的长度。 x-max-length:仲裁队列最大消息数。如果超过则丢弃消息,或者发送到死信交换器。 x-max-length-bytes:仲裁队列最大总消息大小(字节数)。如果超过则丢弃消息,或者发送到死信交换器。 x-max-in-memory-length:限制仲裁队列的内存中最大消息数量。 x-max-in-memory-bytes:限制仲裁队列的内存中的最大总消息大小(字节数)。
  • RabbitMQ业务使用流程 分布式消息服务RabbitMQ版完全兼容开源RabbitMQ,为您提供即开即用、消息特性丰富、灵活路由、高可用、监控和告警等特性,广泛应用于秒杀、流控、系统解耦等场景。 使用RabbitMQ实例生产消费消息的流程如下图所示。 图1 RabbitMQ业务使用流程 创建用户并授权使用DMS for RabbitMQ 创建IAM用户,并授予DMS for RabbitMQ的权限,以达到用户之间权限的隔离。 购买RabbitMQ实例 RabbitMQ实例采用物理隔离的方式部署,租户独占RabbitMQ实例。 创建Vhost 生产者和消费者连接RabbitMQ实例时,需要指定一个Vhost。 创建Exchange 生产者向RabbitMQ实例发送消息时,不会直接将消息发送到Queue,而是先将消息发送到Exchange中,Exchange根据路由键将消息发送到对应的Queue。 创建Queue Queue用于存储消息,每个消息都会被发送到一个或多个Queue中。 绑定Queue Exchange收到消息后,根据路由键将消息发送到绑定的Queue。 连接实例 客户端使用内网/公网连接RabbitMQ实例,并生产消费消息。
  • 前提条件 已购买RabbitMQ实例,并记录创建时输入的用户名和密码,实例开启SSL。 在实例详情中查看并记录“内网连接地址/公网连接地址”。 客户端所在服务器和RabbitMQ实例之间网络已互通,具体网络要求参见连接RabbitMQ网络要求。 客户端所在服务器已安装Java Development Kit 1.8.111或以上版本,并配置JAVA_HOME与PATH环境变量,环境变量配置方法如下: 使用执行用户在用户家目录下修改“.bash_profile”,添加如下行。其中“/opt/java/jdk1.8.0_151”为JDK的安装路径,请根据实际情况修改。 export JAVA_HOME=/opt/java/jdk1.8.0_151 export PATH=$JAVA_HOME/bin:$PATH 执行source .bash_profile命令使修改生效。 RabbitMQ实例中已创建Vhost、Exchange和Queue,且配置Exchange和Queue的绑定。
  • 命令行模式连接实例 登录客户端所在服务器。 下载RabbitMQ-Tutorial-SSL.zip示例工程代码。 wget https://dms-demo.obs.cn-north-1.myhuaweicloud.com/RabbitMQ-Tutorial-SSL.zip 解压RabbitMQ-Tutorial-SSL.zip压缩包。 unzip RabbitMQ-Tutorial-SSL.zip 进入RabbitMQ-Tutorial-SSL目录,该目录下包含预编译好的jar文件。 cd RabbitMQ-Tutorial-SSL 运行生产消息示例。 java -cp .:rabbitmq-tutorial-sll.jar Send {host} {port} {user} {password} 参数说明如下: {host}:从前提条件中获取的连接地址。 {port}:RabbitMQ实例的连接端口,输入5671。 {user}:从前提条件中获取的用户名。 {password}:从前提条件中获取的密码。 图1 生产消息示例 运行消费消息示例。 java -cp .:rabbitmq-tutorial-sll.jar Recv {host} {port} {user} {password} 参数说明如下: {host}:从前提条件中获取的连接地址。 {port}:RabbitMQ实例的连接端口,输入5671。 {user}:从前提条件中获取的用户名。 {password}:从前提条件中获取的密码。 图2 消费消息示例 如需停止消费使用Ctrl+C命令退出。
  • 示例代码(Java) 连接实例并生产消息示例代码: VHOST_NAME:消息要发送的Queue所在的Vhost名称。 QUEUE_NAME:消息要发送的Queue名称。 Hello World!:要发送的消息,根据实际需要修改。 ConnectionFactory factory = new ConnectionFactory(); factory.setHost(host); factory.setPort(port); factory.setVirtualHost("VHOST_NAME"); factory.setUsername(user); factory.setPassword(password); factory.useSslProtocol(); Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); channel.queueDeclare(QUEUE_NAME, false, false, false, null); String message = "Hello World!"; channel.basicPublish("", QUEUE_NAME, null, message.getBytes("UTF-8")); System.out.println(" [x] Sent '" + message + "'"); channel.close(); connection.close(); 连接实例并消费消息示例代码: VHOST_NAME:要消费消息的Queue所在的Vhost名称。 QUEUE_NAME:要消费消息的Queue名称。 ConnectionFactory factory = new ConnectionFactory(); factory.setHost(host); factory.setPort(port); factory.setVirtualHost("VHOST_NAME"); factory.setUsername(user); factory.setPassword(password); factory.useSslProtocol(); Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); channel.queueDeclare(QUEUE_NAME, false, false, false, null); System.out.println(" [*] Waiting for messages. To exit press CTRL+C"); Consumer consumer = new DefaultConsumer(channel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, "UTF-8"); System.out.println(" [x] Received '" + message + "'"); } }; channel.basicConsume(QUEUE_NAME, true, consumer);
  • 在思维导图中新建工作项 单击“思维导图规划名称”,进入思维导图规划详情页。详情页相关操作如表2所示。 在思维导图中添加Epic类型工作项(可添加多个),设置Epic工作项名称(如“Epic1”)后回车。 添加Epic类型工作项有如下方式: 首次添加Epic,单击。 单击“添加Epic”,可选择将项目下已有的Epic添加至思维导图中。 鼠标选中已添加好的Epic工作项(如“Epic1”),按“Enter”键。 将鼠标移动到总节点“需求规划”上,单击。 在Epic工作项下添加子工作项FE(可添加多个),设置Feature工作项名称(如“FE1”)后回车。 在Epic工作项下添加子工作项FE有如下方式: 鼠标选中已添加好的Epic工作项(如“Epic1”),按“Insert”键。 鼠标选中已添加好的FE工作项(如“FE1”),按“Enter”键。 将鼠标移动到已添加好的FE工作项(如“FE1”)上,单击。 将鼠标移动到已添加好的Epic工作项(如“Epic1”)上,单击。 在FE工作项下添加子工作项US(可添加多个),设置Story工作项名称(如“US1”)后回车。 在FE工作项下添加子工作项US有如下方式: 鼠标选中已添加好的FE工作项(如“FE1”),按“Insert”键。 鼠标选中已添加好的US工作项(如“US1”),按“Enter”键。 将鼠标移动到已添加好的Story工作项(如“US1”)上,单击。 将鼠标移动到已添加好的FE工作项(如“FE1”),单击。 给US工作项添加Task子任务(可添加多个),设置Task工作项名称(如“Task1”)后回车。 鼠标选中已添加好的US工作项(如“US1”),按“Insert”键。 鼠标选中已添加好的Task工作项(如“Task1”),按“Enter”键。 将鼠标移动到已添加好的Task工作项(如“Task1”)上,单击。
  • 在思维导图中新建工作项 进入项目主页,选择。 单击“思维导图规划名称”,进入思维导图规划详情页。详情页相关操作如表2所示。 在思维导图中添加Epic类型工作项(可添加多个),设置Epic工作项名称(如“Epic1”)后回车。 添加Epic类型工作项有如下方式: 首次添加Epic,单击。 单击“添加Epic”,可选择将项目下已有的Epic添加至思维导图中。 鼠标选中已添加好的Epic工作项(如“Epic1”),按“Enter”键。 将鼠标移动到总节点“需求规划”上,单击。 在Epic工作项下添加子工作项Feature(可添加多个),设置Feature工作项名称(如“Feature1”)后回车。 在Epic工作项下添加子工作项Feature有如下方式: 鼠标选中已添加好的Epic工作项(如“Epic1”),按“Insert”键。 鼠标选中已添加好的Feature工作项(如“Feature1”),按“Enter”键。 将鼠标移动到已添加好的Feature工作项(如“Feature1”)上,单击。 将鼠标移动到已添加好的Epic工作项(如“Epic1”)上,单击。 在Feature工作项下添加子工作项Story(可添加多个),设置Story工作项名称(如“Story1”)后回车。 在Feature工作项下添加子工作项Story有如下方式: 鼠标选中已添加好的Feature工作项(如“Feature1”),按“Insert”键。 鼠标选中已添加好的Story工作项(如“Story1”),按“Enter”键。 将鼠标移动到已添加好的Story工作项(如“Story1”)上,单击。 将鼠标移动到已添加好的Feature工作项(如“Feature1”),单击。 给Story工作项添加Task子任务(可添加多个),设置Task工作项名称(如“Task1”)后回车。 鼠标选中已添加好的Story工作项(如“Story1”),按“Insert”键。 鼠标选中已添加好的Task工作项(如“Task1”),按“Enter”键。 将鼠标移动到已添加好的Task工作项(如“Task1”)上,单击。
  • 为什么Cookie中有HWWAFSESID或HWWAFSESTIME字段? HWWAFSESID:会话ID;HWWAFSESTIME:会话时间戳,这两个字段用于标记请求,如CC防护规则中用户计数。 防护 域名 /IP接入WAF后,WAF会在客户请求Cookie中插入HWWAFSESID(会话ID),HWWAFSESTIME(会话时间戳)等字段,这些字段服务于WAF统计安全特性,不插入这些字段将会影响CC人机验证、攻击惩罚、动态反爬虫的功能使用。 以下配置中,WAF不会在客户请求Cookie中插入HWWAFSESID(会话ID),HWWAFSESTIME(会话时间戳)字段: 防护动作配置为“放行”的规则。 全局白名单规则中“不检测模模块”选择了“所有检测模块”。 防护模式为“暂停防护”。 未开启Web基础防护。 父主题: 产品咨询
  • 仅放行通过WAF的访问请求,如何配置? 源站服务器上的安全软件很容易认为WAF的回源IP是恶意IP,有可能触发屏蔽WAF回源IP的操作。一旦WAF的回源IP被屏蔽,WAF的请求将无法得到源站的正常响应。 因此,您可以在源站服务器上配置只放行WAF回源IP的访问控制策略,即仅允许通过WAF的请求访问到源站,防止黑客获取源站IP后绕过WAF直接攻击源站,以确保源站安全、稳定、可用。 放行WAF回源IP的访问控制策略操作说明如下: 源站服务器配置放行WAF回源IP的访问控制策略。 云模式:请参见如何放行云模式WAF的回源IP段?。 独享模式:请参见放行独享引擎回源IP。 建议您关闭防火墙和服务器安全防护软件。 父主题: 产品咨询
  • 测试Redis连接 登录CCE集群节点,参考登录CCE集群节点。 参考通过kubectl连接集群,下载和配置kubectl配置文件。 执行以下命令,当返回状态为“Running”时,说明Redis容器处于运行状态。 kubectl get pod -n default 使用以下命令查看Redis容器的日志。 kubectl logs --tail 10 -f redis-xxxxxxxx -n default 其中redis-xxxxxxxx为创建的工作负载实例名称。(单击工作负载名称,进入工作负载,可查看工作负载实例名称。) 从返回信息中,可以看到D CS 服务返回的信息为在前面连接Redis时设置的数据值“hello redis!”。 测试完成。
  • 制作客户端镜像 下载Redis客户端。 登录CCE集群节点。 单击创建完成的CCE节点池名称,进入CCE节点池,单击右上角的“远程登录”。 执行gcc --version检查操作系统是否安装了用于编译Redis程序的GCC编译器。如下图,表示已经安装了GCC编译器。 如未安装GCC编译器,请使用以下命令安装GCC编译器。 yum -y install gcc yum -y install gcc-c++ 执行以下命令,在home目录下创建redis目录,并进入该目录。 cd /home && mkdir redis && cd redis 执行以下命令下载Redis客户端。此处以下载5.0.13版本的客户端为例。 wget https://download.redis.io/releases/redis-5.0.13.tar.gz 解压Redis,进入Redis目录,执行编译命令后返回redis目录。 tar xvzf redis-5.0.13.tar.gz cd redis-5.0.13 && make redis-cli cd .. 创建Dockerfile。 使用vim Dockerfile命令创建Dockerfile,并填写以下信息。 FROM centos:7 RUN useradd -d /home/redis -m redis COPY ./redis-5.0.13 /home/redis/redis-5.0.13 RUN chown redis:redis /home/redis/redis-5.0.13 -R USER redis ENV HW_HOME=/home/redis/redis-5.0.13 ENV PATH=$HW_HOME/src:$PATH WORKDIR /home/redis/ 按下Esc键退出编辑模式,执行:wq!保存配置并退出编辑界面。 构建客户端镜像。 在控制台的服务列表中选择“ 容器镜像服务 SWR”,进入容器 镜像服务 总览页。 单击右上角“创建组织”,输入组织名称,新建一个组织。也可以使用已有的组织(单击左侧“组织管理”可查看已有组织。) 在SWR总览页单击右上角“登录指令”获取登录指令,复制登录指令。(登录指令结尾的swr.xxxxxx.com为镜像仓库地址。) 图1 获取登录指令 使用复制的登录指令在CCE节点中执行,登录SWR。 图2 登录SWR 执行以下命令构建镜像。 docker build -t {Image repository address}/{Organization name}/{Image name :version}. 其中Image repository address为镜像仓库地址,即登录指令的结尾部分;Organization name为b步骤创建的组织名称;Image name为需要构建的镜像名称,version为镜像的版本。请根据实际值进行替换。例如:docker build -t swr.xxxxxx.com/study1/redis:v1 . 图3 构建镜像 执行以下命令将客户端镜像上传到SWR。 docker push {Image repository address}/{Organization name}/{Image name :version} 图4 上传镜像 上传镜像后,可在SWR控制台“我的镜像”页面查看到Redis镜像。 图5 查看镜像
  • 前提条件 准备以下实例资源: 创建VPC和子网,例如vpc-test。创建方式请参考创建虚拟私有云和子网。 (可选)建议创建2个子网,将DCS实例放到一个子网,CCE集群放到另一个子网,方便管理。 创建DCS实例,例如dcs-test。创建方式请参考购买Redis实例。 创建的DCS实例时,“虚拟私有云”请选择所创建的VPC(vpc-test)及其子网1。 创建CCE集群,例如cce-test。创建方式请参考购买CCE集群。 创建CCE集群时,“网络模型”请选择“VPC网络";“虚拟私有云”和“子网”请选择所创建的VPC(vpc-test)及其子网2。 创建CCE节点池,例如cce-test-nodepool。创建方式请参考创建节点池。 创建CCE节点池时,“节点类型”请选择“弹性云服务器-虚拟机”,“容器引擎”请选择“Docker”,“操作系统”请选择“CentOS 7.6”,并需要绑定“弹性公网IP”,选择“使用已有”或“自动创建”。
  • 什么是大Key/热Key? 名词 定义 大Key 大Key可以分为两种情况: Key的Value占用存储空间较大。一般单个String类型的Key大小达到10KB,或者集合类型的Key总大小达到50MB,则被定义为大Key。 Key的元素较多。一般集合类型的Key中元素超过5000个,则被定义为大Key。 热Key 通常当一个Key的访问频率或资源占用显著高于其他Key时,则称之为热Key。例如: 某个集群实例一个分片每秒处理10000次请求,其中有3000次都是操作同一个Key。 某个集群实例一个分片的总带宽使用(入带宽+出带宽)为100Mbits/s,其中80Mbits是由于对某个Hash类型的Key执行HGETALL所占用。 父主题: 大Key/热Key分析/过期Key扫描
  • 怎么放通SYNC和PSYNC命令? DCS云服务内部的Redis之间进行迁移: 如果迁移任务和源端实例在相同账号下的相同Region,在配置在线迁移任务时,源端实例通过选择DCS实例(云服务Redis)的方式进行配置,会自动放通源端实例的SYNC和PSYNC命令。 如果迁移任务和源端实例在不同账号或不同Region,在配置在线迁移任务时,源端实例不能通过选择DCS实例(云服务Redis)的方式进行配置,不会自动放通源端实例的SYNC和PSYNC命令,因此无法使用控制台的在线迁移。推荐使用备份文件导入方式迁移。 自建Redis迁移至DCS,默认没有禁用SYNC和PSYNC命令。 其他云厂商迁移到DCS云服务: 一般云厂商都是禁用了SYNC和PSYNC命令,如果使用DCS控制台的在线迁移功能,需要联系源端的云厂商运维人员放通此命令。离线迁移,推荐使用备份文件导入方式。 如果不需要增量迁移,可以参考使用Redis-shake工具在线全量迁移其他云厂商Redis进行全量迁移,该方式不依赖于SYNC和PSYNC。 父主题: 数据备份/导出/迁移
  • Redis实例是否支持开启主节点不持久化,仅从节点持久化 DCS Redis 4.0/5.0/6.0基础版的主备和集群实例、企业版高性能型主备实例,可以通过将实例参数appendonly设置为only-replica,开启实例仅从节点持久化。 其他版本和实例类型暂不支持该特性。 appendonly参数默认只有yes和no两个选项,如需设置为only-replica,需要联系运维人员放通该参数的白名单。 仅从节点持久化相对于主从节点同时持久化,因主节点减少了AOF写入和重写的影响,性能会有所提升,但可靠性会有所降低,请根据实际业务情况选择。
  • 开启/关闭AOF持久化的影响 开启AOF持久化后,由于Redis-Server进程需要在AOF文件中记录对应的操作信息,用来进行数据持久化。开启持久化可能存在的影响: 当出现底层计算节点磁盘硬件故障或者IO故障时,可能会造成时延冲高或者主备倒换等情况发生。 Redis-Server进程会定期进行AOF重写操作,重写期间可能会造成短暂的时延冲高,AOF重写规则请参考AOF文件在什么情况下会被重写?。 如果在缓存场景下使用DCS实例进行应用加速,建议可以关闭持久化参数以获得更高的性能和稳定性。 关闭持久化需根据实际业务慎重操作,关闭持久化后在极端故障场景(例如主备节点同时故障等)下可能出现缓存数据丢失的问题。
  • Redis实例支持的持久化方式 Redis实例默认仅支持AOF的方式进行持久化,同时支持客户自行开关数据持久化配置。创建的实例(单机或单副本集群除外)默认开启AOF持久化。 Redis实例默认不支持RDB持久化,因此也无法支持客户自行配置save参数。如果需要进行RDB持久化,可以使用主备或者集群实例的备份恢复功能,备份恢复时,Redis 4.0及以上版本实例,可以支持选择生成RDB持久化文件并且自动转储到OBS中。
  • 编辑复合指标 在数据架构控制台,单击左侧导航树的“技术指标”,然后选择“复合指标”页签,进入复合指标页面。 图3 复合指标 在复合指标列表中,找到需要编辑的复合指标,单击“编辑”,进入“编辑复合指标”页面。 根据实际需要修改配置参数。参数说明请参见表1。 在页面下方,单击“试运行”按钮,然后在弹出框中单击“试运行”按钮,测试所设置的复合指标是否可以正常运行。 如果试运行失败,请根据错误提示定位错误原因,将配置修改正确后,再单击“试运行”按钮进行重试。 如果试运行成功,单击“发布”,提交发布审核。 在弹出框中单击“确认提交”,提交审核。
  • 总览页面说明 在总览页用户可以看到丰富的监控数据视图。数据服务总览页面分别从API开放方和API调用方的视角,统计了API的相关度量数据。 图2 API总览 表1 API开放方数据统计 界面 说明 发布趋势 从每天、每周、每月、每年的维度统计了API开放方发布的API数量。 调用趋势 从半天、每天、每周、每月的维度统计了API开放方发布的API,被调用的次数。 调用比率TOP5 统计API开放方所开放的API,被调用的比率,包含成功率、失败率、合法率和非法率。 调用时间TOP5 统计API开放方所开放的API,被调用时长,支持统计的维度包含时长平均总值、成功时长平均总值,失败时长平均总值。 调用次数TOP5 统计API开放方所开放的API,被调用次数排名TOP5的,支持统计的维度包含调用总次数、成功次数、失败次数、合法次数和非法次数。 已发布 统计API开放方已成功发布的API数量。 开发中 统计API开放方开发中的API数量。 申请者 统计API开放方已成功发布的API,被申请调用的应用数量。 调用成功 统计API开放方已成功发布的API,被应用成功调用的次数。 调用失败 统计API开放方已成功发布的API,被应用调用失败的次数。 总调用次数 统计API开放方已成功发布的API,被应用调用的总次数。 图3 调用总览 表2 API调用方数据统计 界面 说明 调用趋势 从每天、每周、每月、每年的维度统计了API调用方调用的API数量。 调用比率 统计调用方最近7天内调用API的成功和失败比例。 已申请 统计API调用方,在数据服务平台申请调用的API数量。 调用成功 统计API调用方在数据服务平台成功调用API的次数。 总调用次数 统计API调用方在数据服务平台调用API的总次数。
  • 为PHP函数制作依赖包 制作函数依赖包推荐在EulerOS2.9.6环境中进行。 为php7.3通过composer安装protobuf3.19依赖包,默认环境中已经安装了composer和对应版本的php。 新建一个composer.json文件,在composer.json中填入以下内容。 { "require": { "google/protobuf": "^3.19" } } 执行如下命令。 Composer install 可以看到当前目录底下生成一个vendor文件夹,文件夹中有autoload.php、composer 和google三个文件夹。 Linux系统 Linux系统下可以使用以下命令生成zip包。 zip –rq vendor.zip vendor windows系统 用压缩软件将vendor目录压缩成zip文件即可。 如果要安装多个依赖包,在composer.json文件中指定需要的依赖,把生成的vendor文件整体打包成zip上传。 php工程代码中使用通过composer下载的第三方依赖时,需要通过require "./vendor/autoload.php" 加载,平台默认把上传的zip包解压后的内容置于项目代码的同级目录下。
共100000条