华为云用户手册

  • 内网如何访问GeminiDB Redis 内网可以通过负载均衡(ELB)和直连节点访问实例,有以下区别: 通过负载均衡地址连接实例(推荐):ELB底层是一个高可用集群,提供一个负载均衡地址给用户访问。会定期与后端节点探活,可有效避免后端节点单点故障。 通过节点连接实例:GeminiDB Redis节点包含代理进程,用户连接任意一个节点可访问整个集群。该访问方式可能存在单点故障,推用于测试场景。 通过内网连接GeminiDB Redis实例请参考通过内网连接GeminiDB Redis。 父主题: 数据库连接
  • 功能概述 PITR(Point-in-Time Recovery),是指数据库的“时间点恢复”功能。它是一种数据库恢复技术,通常用于恢复误删除的数据或者误操作导致损坏的数据,将其恢复到一个指定时间点的数据状态。 以游戏场景为例,在游戏运行期间,有玩家利用游戏漏洞复制装备、货币,使游戏公平性遭到破坏。传统数据库备份频率一般是一天全备一次,备份间隔即一整天,不仅恢复时间长、时间粒度大,甚至无法恢复到想要时间点等。而GeminiDB Redis接口具备的PITR特性能够让游戏数据快速回档,可根据客户自定的备份粒度,最低支持5分钟粒度,自行选择需要恢复的时间点,实现数据的快速恢复。
  • 权限配置 如果您使用的是 IAM 用户,在使用存储空间自动扩容功能前需要配置GeminiDB服务和IAM服务相应的权限。具体操作如下: 配置IAM服务的细粒度权限和GeminiDB服务的最小权限。 在IAM控制台配置如下IAM权限策略,具体操作请参见创建自定义策略。 { "Version":"1.1", "Statement":[ { "Effect":"Allow", "Action":[ "iam:permissions:listRolesForAgencyOnProject", "iam:permissions:grantRoleToGroupOnProject", "iam:agencies:createAgency", "iam:agencies:listAgencies", "iam:roles:listRoles", "iam:roles:createRole" ] } ] } 创建用户组并授权 您可以在IAM控制台创建用户组,并授予该用户组1中创建的自定义权限和Security Administrator系统角色。 将用户加入用户组 以主账号或者具有IAM权限的IAM用户登录控制台,将需要设置存储空间自动扩容的实例所属的IAM用户,加入2中创建的用户组,此时该IAM用户享有该用户组配置的权限。
  • 变更计费模式概述 在购买GeminiDB Redis后,如果发现当前计费模式无法满足业务需求,您可以变更计费模式。支持变更计费模式的GeminiDB Redis计费项如表1所示。 表1 支持变更计费模式的GeminiDB Redis计费项 计费项 变更说明 相关文档 实例规格(vCPU和节点数量) 变更GeminiDB Redis实例的计费模式会同时变更计算资源(vCPU和节点数量)的计费模式。 将GeminiDB Redis实例的计费模式从按需计费转为包年/包月,可以让您享受一定程度的价格优惠。 将GeminiDB Redis实例的计费模式从包年/包月转为按需计费,可以帮助您回收部分成本,并更加灵活地使用GeminiDB Redis资源。 说明: 包年/包月计费模式到期后,按需计费模式才会生效。 按需转包年/包月 包年/包月转按需 EIP 包年/包月EIP支持到期后转为按需、按带宽计费EIP。 按需、按带宽计费EIP支持转为包年/包月EIP。 按需、按带宽计费EIP支持和按需、按流量计费EIP互转。 具体变更方式可参考图1。 按需转包年/包月 包年/包月转按需 图1 EIP计费模式变更 父主题: 变更计费模式
  • 使用须知 当有对应的补丁更新时(定期同步开源社区问题、漏洞修复),请及时进行升级。 当数据库版本为风险版本时,会提醒用户进行数据库补丁升级。 补丁升级会采用滚动升级的方式,升级过程中会依次重启每一个节点,重启期间业务会由其他节点接管,每次接管会产生3-5s闪断,请在业务低峰变更,避免实例过载,并建议业务添加自动重连机制,确保重启后连接及时重建。 基础组件升级约需15分钟,数据组件升级与节点数量有关,约1-2min每节点。 系统会自动检测实例的小版本,如果控制台的“补丁升级”按钮不存在,表示小版本已经是最新。
  • 使用须知 每个GeminiDB Redis实例最多能创建200个账号。 执行账号变更后,需10s生效。 在通过备份恢复到新实例时,原实例的账号信息不会继承。 创建账号需要满足表1规则。 表1 参数规则 参数 规则 示例 账号名称 不能为空。 长度不超过36个字符。 以字母开头,只能包含数字、英文字母、下划线、中划线。 Organization 权限 读写。 只读。 读写 数据库 授权所有数据库。 未授权数据库。 已授权数据库。 说明: 用户可以根据自己的需要在数据库右边“添加”数据库。 用户可以根据自己的需要选择需要授权的数据库。 此处“数据库”对应开源redis的“DB”。 授权所有数据库 密码 不能为空。 长度为8~32位。 密码需包含大写字母、小写字母、数字和特殊字符中的至少两种,支持的特殊字符为~ ! @ # % ^ * - _ = +? $ () &。 nosql123456
  • 创建OBS桶并上传备份文件 如果上传的备份文件大于5GB,请按照OBS服务提供的超过5GB如何上传操作指导执行。 如果上传的备份文件较小,且小于5GB,请执行如下步骤: 创建OBS桶。 在创建过程中,以下两个参数请按要求设置,其他详细的创建步骤,请参考《 对象存储服务 用户指南》的“创建桶”章节。 选择“区域”。 OBS桶所在区域必须跟Redis目标实例所在区域相同。 设置“存储类别”,当前支持“标准存储”、“低频访问存储”和“归档存储”。 请不要选择“归档存储”,否则会导致备份文件数据导入失败。 设置完成后,单击“立即创建”,等待OBS桶创建完成。 在OBS管理控制台的桶列表中,单击1中创建的OBS桶名称,进入“概览”页面。 在左侧导航栏,单击“对象”。 在“对象”页签下,单击“上传对象”,系统弹出“上传对象”对话框。 指定对象的存储类别。 请不要选择“归档存储”,否则会导致备份文件数据导入失败。 上传对象。 您可以拖拽本地文件或文件夹至“上传对象”区域框内添加待上传的文件,也可以通过单击“上传对象”区域框内的“添加文件”,选择本地文件添加。 单次最多支持100个文件同时上传,总大小不超过5GB。 图1 批量上传对象 可选:勾选“KMS加密”,用于加密上传文件。 单击“上传”,完成备份文件上传到OBS桶。
  • 操作场景 当前GeminiDB Redis支持将其他云厂商Redis、自建Redis的数据通过GeminiDB控制台导入到GeminiDB Redis。 您需要先将其他云厂商Redis、自建Redis的数据备份下载到本地,然后将备份数据文件上传与GeminiDB Redis实例同一租户下相同Region下的OBS桶中,最后在GeminiDB控制台创建数据导入任务,将数据导入到GeminiDB Redis实例中。
  • 使用须知 内部连接的操作不记录审计日志。 始终审计的命令:BigKeys keys flushall flushdb script client config 。 只审计大批量的命令(单次命令操作参数较多): bitop msetnx pfcount pfmerge hdel hmget hmset hset lpush lpushx sadd srem zadd geoadd geohash bfinsert bfmadd bfmexists 。 Exec 只审计单次事务过大的操作(超过100个命令)。
  • 包年/包月资源 对于包年/包月计费模式的资源,例如包年/包月的GeminiDB Redis实例,用户在购买时会一次性付费,服务将在到期后自动停止使用。 如果在计费周期内不再使用包年/包月资源,您可以执行退订操作,系统将根据资源是否属于五天无理由退订、是否使用代金券和折扣券等条件返还一定金额到您的账户。详细的退订规则请参见云服务退订规则概览。 如果您已开启“自动续费”功能,为避免继续产生费用,请在自动续费扣款日(默认为到期前7日)之前关闭自动续费。
  • 实例设置只读状态说明 为保护GeminiDB Redis实例的正常运行,在存储空间即将被写满的时候,数据库会被设置成只读状态,该状态下只支持数据的读取,不支持写入和更新,可以通过扩容存储容量来解除该状态,重新获得写入和更新的能力。 表1 实例设置只读状态说明 存储容量 说明 小于600GB 存储容量使用率达到97%时,实例状态被设置为只读。 存储容量使用率下降到85%,实例自动解除只读状态。 大于或等于600GB 存储容量剩余空间小于18GB,实例状态被设置为只读。 存储容量剩余空间大于或等于90GB,实例自动解除只读状态。
  • 约束与限制 按需计费云数据库绑定的资源(弹性公网IP)可能不支持随实例同步变更计费模式,请参考表1查看绑定资源的计费规则及处理措施。 表1 弹性公网IP计费模式变更规则 资源 计费模式 计费方式 带宽类型 是否支持随GeminiDB Redis按需转包年/包月 处理措施 弹性公网IP 按需计费 按带宽计费 独享带宽 是 在控制台的弹性公网IP页面进行按需转包年/包月操作。 详细内容,请参见变更弹性公网IP计费方式。 弹性公网IP 按需计费 按流量计费 独享带宽 否 按需、按流量计费EIP不支持直接转为包年/包月EIP。变更方法如下: 先转为按需、按带宽计费的EIP。 再由按需、按带宽计费EIP转为包年/包月EIP。 详细内容,请参见变更弹性公网IP计费方式。
  • 约束与限制 包年/包月的云数据库绑定的资源(弹性公网IP)可能不支持随云数据库同步变更计费模式,请参考表1查看绑定资源的计费规则及处理措施。 表1 弹性公网IP计费模式变更规则 资源 计费模式 计费方式 带宽类型 是否支持随GeminiDB Redis包年/包月转按需 处理措施 弹性公网IP 包年/包月 按带宽计费 独享带宽 否 在控制台的弹性公网IP页面进行按需转包年/包月操作。 详细内容,请参见变更弹性公网IP计费方式。 弹性公网IP 包年/包月 按流量计费 独享带宽 否 包年/包月EIP不支持直接转为按需、按流量计费EIP。变更方法如下: 先转为按需、按带宽计费EIP。 再由按需、按带宽计费EIP转为按需、按流量计费EIP。 详细内容,请参见变更弹性公网IP计费方式。
  • 使用须知 建议您先在标签管理服务系统中设置预定义标签。 标签由“键”和“值”组成,每个标签中的一个“键”只能对应一个“值”。关于标签键和标签值的命名规则,请参见表1。 每个实例默认最多支持10个标签配额,如果您需要使用更多标签,可以联系客服申请至20个标签配额。 标签命名需要满足表1规则。 表1 命名规则 参数 规则 示例 标签键 不能为空。 对于每个实例,每个标签的键唯一。 长度不超过36个字符。 只能包含数字、英文字母、下划线、中划线和中文。 Organization 标签值 可以为空。 长度不超过43个字符。 只能包含数字、英文字母、下划线、点、中划线和中文。 nosql_01
  • 操作场景 标签管理服务(Tag Management Service,简称TMS)用于用户在云平台,通过统一的标签管理各种资源。标签管理服务与各服务共同实现标签管理能力,标签管理服务提供全局标签管理能力,各服务维护自身标签管理 。 为GeminiDB Redis实例添加标签,可以方便用户识别和管理拥有的GeminiDB Redis资源。您可以在创建实例时添加标签,也可以在实例创建完成后,在实例详情页添加标签。 标签添加成功后,您可以通过搜索标签键或值,快速查询关联的资源信息。
  • 连接方式介绍 GeminiDB Redis兼容开源Redis接口,支持应用程序使用多种SDK访问。同时还提供数据管理服务(Data Admin Service,简称DAS)、内网、公网的访问途径。 连接GeminiDB Redis实例的使用流程介绍如图1所示。 图1 连接方式介绍 表1 连接方式 连接方式 使用场景 默认端口 说明 DAS连接 GeminiDB Redis支持通过管理控制台的Web客户端连接Redis实例 - - 内网连接 介绍通过内网IP、内网 域名 或负载均衡地址连接GeminiDB Redis实例的方法。 该方式适用于当应用部署在弹性云服务器上,且该弹性云服务器与数据库实例处于同一区域、同一VPC内时连接数据库实例。 6379 推荐使用负载均衡地址连接实例,可靠性高,可消除单点故障带来的影响。 安全性高,可实现数据库实例的较好性能。 E CS 与Redis实例在相同安全组 默认ECS与Redis实例内网互通,无需设置安全组规则。 ECS与Redis实例在不同安全组时,需要为Redis和ECS分别设置安全组规则。 设置Redis安全组规则:为Redis所在安全组配置相应的入方向规则,详见设置安全组规则。 设置ECS安全组规则:安全组默认规则为出方向上数据报文全部放行,此时,无需对ECS配置安全组规则。当在ECS所在安全组为非默认安全组且出方向规则非全放通时,需要为ECS所在安全组配置相应的出方向规则。 公网连接 介绍通过公网域名、弹性公网IP或负载均衡器绑定弹性公网IP连接GeminiDB Redis实例的方法。 该方式适用于不能通过内网方式访问数据库实例时,可以单独使用公网域名或弹性公网IP连接弹性云服务器(或公网主机)与数据库实例。 6379 为了获得更快的传输速率和更高的安全性,建议您将应用迁移到与您的数据库实例在同一VPC子网内,使用内网连接。 推荐负载均衡器绑定弹性公网IP的方式,可靠性高,可消除单点故障影响。 用户需要购买弹性公网IP,请参见弹性公网IP计费说明。 。 客户端连接 介绍通过不同代码的方式访问GeminiDB Redis实例的方法,详情请参见客户端通过代码连接实例示例。 6379 - 父主题: 连接实例
  • 使用须知 可维护时间段目前处于公测状态,如果您想使用,请联系客服开通。 目前只有实例重启、规格变更和补丁升级支持可维护时间段。 已经选择可维护时间段的规格变更和补丁升级,不能再立即执行;实例重启可以立即执行。 您可以取消待执行的任务。 修改可维护时间段,不影响原有可维护时间段内定时任务的执行时间。 可维护时间段不要和备份的时间冲突,否则可能会导致定时任务失败。 在可维护时间段内,定时任务10分钟扫描一次,执行任务;临近可维护时间段结束时下发的任务,有可能扫描不到,取消执行。
  • 实例规格说明 本章节主要介绍GeminiDB Redis实例支持的实例规格信息。数据库实例规格与所选的CPU机型相关,请以实际环境为准。 GeminiDB Redis实现了数据冷热交换,支持远超内存的容量。热数据在内存中,全量数据存放在高性能存储池中。实例总容量指的是存储总容量,决定数据存储上限。节点内存请参考表4节点规格信息。 表1 GeminiDB Redis集群版(快速选择)实例规格 实例类型 实例存储容量(GB) 节点数量 节点规格码 vCPU(个) QPS 最大连接数 实例DB数 ACL子账号数量 集群版 4 2 geminidb.redis.medium.2 1 20,000 20,000 256 200 8 2 geminidb.redis.medium.4 1 20,000 20,000 256 200 16 2 geminidb.redis.large.4 2 40,000 20,000 256 200 24 3 geminidb.redis.large.4 2 60,000 30,000 256 200 32 4 geminidb.redis.large.4 2 80,000 40,000 256 200 48 3 geminidb.redis.xlarge.4 4 120,000 30,000 1,000 200 64 4 geminidb.redis.xlarge.4 4 160,000 40,000 1,000 200 96 3 geminidb.redis.2xlarge.4 8 240,000 30,000 1,000 200 128 4 geminidb.redis.2xlarge.4 8 320,000 40,000 1,000 200 192 6 geminidb.redis.2xlarge.4 8 480,000 60,000 1,000 200 256 8 geminidb.redis.2xlarge.4 8 640,000 80,000 1,000 200 384 10 geminidb.redis.2xlarge.4 8 800,000 100,000 1,000 200 512 6 geminidb.redis.4xlarge.4 16 960,000 60,000 1,000 200 768 9 geminidb.redis.4xlarge.4 16 1,440,000 90,000 1,000 200 1024 12 geminidb.redis.4xlarge.4 16 1,920,000 120,000 1,000 200 2048 22 geminidb.redis.4xlarge.4 16 3,520,000 220,000 1,000 200 4096 24 geminidb.redis.8xlarge.4 32 7,680,000 240,000 1,000 200 8192 36 geminidb.redis.8xlarge.4 32 11,520,000 360,000 1,000 200 表2 GeminiDB Redis主备版(快速选择)实例规格 实例类型 实例存储容量(GB) 分片数 节点规格码 QPS 最大连接数 实例DB数 ACL子账号数量 主备版 4 1 geminidb.redis.medium.2 8,000 10,000 1,000 200 8 1 geminidb.redis.medium.2 8,000 10,000 1,000 200 16 1 geminidb.redis.medium.4 10,000 10,000 1,000 200 24 1 geminidb.redis.large.4 20,000 10,000 1,000 200 32 1 geminidb.redis.large.4 20,000 1,0000 1,000 200 48 1 geminidb.redis.xlarge.4 40,000 2,0000 1,000 200 64 1 geminidb.redis.xlarge.4 40,000 2,0000 1,000 200 96 1 geminidb.redis.2xlarge.4 80,000 2,0000 1,000 200 128 1 geminidb.redis.4xlarge.4 160,000 2,0000 1,000 200 表3 GeminiDB Redis节点规格 节点规格码 vCPU(个) 内存(GB) 单节点的最大持久化数据存储空间(GB) 单节点的最大连接数 基准带宽(Mbps) 实例DB数 geminidb.redis.medium.2 1 2 4 10,000 800 256 geminidb.redis.large.2 2 4 8 10,000 1200 256 geminidb.redis.xlarge.2 4 8 16 10,000 2500 1,000 geminidb.redis.2xlarge.2 8 16 32 10,000 5000 1,000 geminidb.redis.4xlarge.2 16 32 64 10,000 9000 1,000 geminidb.redis.8xlarge.2 32 64 128 10,000 18000 1,000 geminidb.redis.medium.4 1 4 8 10,000 800 256 geminidb.redis.large.4 2 8 16 10,000 1200 256 geminidb.redis.xlarge.4 4 16 32 10,000 2500 1,000 geminidb.redis.2xlarge.4 8 32 64 10,000 5000 1,000 geminidb.redis.4xlarge.4 16 64 128 10,000 9000 1,000 geminidb.redis.8xlarge.4 32 128 256 10,000 18000 1,000 geminidb.redis.medium.8 1 8 16 10,000 800 256 geminidb.redis.large.8 2 16 32 10,000 1200 256 geminidb.redis.xlarge.8 4 32 64 10,000 2500 1,000 geminidb.redis.2xlarge.8 8 64 128 10,000 5000 1,000 geminidb.redis.4xlarge.8 16 128 256 10,000 9000 1,000 geminidb.redis.8xlarge.8 32 256 512 10,000 18000 1,000 备注:部分老实例节点带宽会低于以上同规格节点带宽基准,用户可关注节点带宽使用率,若老实例大流量场景可以进行工单咨询进行变更。 父主题: 产品介绍
  • 权限配置 使用IAM( 统一身份认证 )的用户,需要给对应的子用户授予DAS FullAccess权限,否则子用户无法正常使用该功能。具体授权的操作请参见创建用户并授权。 同时您也可以通过创建自定义策略的方式来限制有权限的数据库类型,具体操作如下: 登录统一身份认证服务页面,单击“创建自定义策略”。 图1 创建自定义策略 设置策略名称、策略配置方式、策略内容等信息。 图2 配置自定义策略 表1 自定义策略信息 参数名称 描述 策略名称 输入策略名称。 策略配置方式 此处选择“JSON视图”。 策略内容 在策略内容中配置如下自定义策略: { "Version": "1.1", "Statement": [ { "Action": [ "das:*:*", "nosql:instance:list" ], "Effect": "Allow" } ] } 或者您也可以在“策略内容”区域,单击“从已有策略复制”,选择“DAS FullAccess”作为模板,然后只保留对应的DB类型就可以指定权限的范围,此处只需要保留“nosql:instance:list”即可。 策略描述 输入策略描述。 作用范围 默认项目级服务 单击“确定”,返回权限页面,可以查看到创建成功的自定义策略。 图3 查看自定义策略 创建用户组。 图4 创建用户组 为4创建的用户组授权3已创建好的自定义策略。 图5 授权自定义策略 图6 选择自定义策略 单击用户组名称,进入用户组管理,添加对应的子用户即可。 图7 添加子用户
  • 快速了解Redis 本章节主要介绍GeminiDB Redis产品类型和实例类型,并帮助您快速掌握GeminiDB Redis实例创建、连接的整体流程。 表1 产品类型 产品类型 使用场景 支持的实例类型 标准型 提供稳定的低延迟性能,适用于广告&推荐、游戏、电商、车联网等各类常见业务场景。 集群版 主备版 容量型 提供大容量Key-Value存储,适用于对性能要求不高且有降低成本诉求的业务。 集群版 表2 实例类型 实例类型 使用场景 购买并连接实例 集群版 集群版实例采用分片集群架构,提供Proxy代理连接,同时兼容Cluster接入方式。性能水平扩展能力强,可支撑百万QPS、数十TB级业务量。 购买并连接集群版实例 主备版 标准的master-replica架构,兼容单机、哨兵接入方式。适用于无法使用hashtag的业务场景。 购买并连接主备版实例 连接方式介绍 数据管理服务(Data Admin Service,简称DAS)是一款专业的简化数据库管理工具,提供优质的可视化操作界面,大幅提高工作效率,让数据管理变得既安全又简单。您可以通过数据管理服务连接并管理实例。云数据库GeminiDB Redis服务默认为您开通了远程主机登录权限,推荐您使用更安全便捷的数据管理服务连接实例。 表3 DAS连接方式 连接方式 使用场景 说明 DAS连接 无需使用IP地址,通过控制台即可登录实例。 易用、安全、高级、智能。 默认为您开通了远程主机登录权限,推荐您使用更安全便捷的数据管理服务连接实例。 更多连接操作 连接方式介绍 父主题: 快速入门
  • 事务介绍 基本概念: 事务将应用程序的多个读、写操作捆绑在一起成为一个逻辑操作单元,是一个执行的整体,整个事务要么成功,要么失败。在一个连接中,当客户端执行multi命令后,redis开始将后续收到的命令缓存在队列中,当客户端发送exec命令时,redis按照顺序依次执行队列中的所有命令。如果有一个命令执行失败则事务回滚,所有命令要么全部成功,要么全部失败。 表1 相关命令 命令 含义 WATCH 用于监视一个或多个key,如果事务执行之前该key被改动,则事务被打断。 UNWATCH 用于取消watch命令对所有key的监视。 MULTI 用于标识一个事务块的开始。 EXEC 用于执行事务块内的所有命令。 DISCARD 用于取消事务块,放弃执行事务块内的所有命令。 注意事项: 使用proxy集群时,为保证事务执行的原子性,需确保事务中的所有key拥有相同的hashtag。若不使用hashtag,事务会被拆分成普通命令执行,则无法保证事务的原子性。 由于整个事务的执行是原子性的,要么全部成功要么全部失败,因此,在编写事务时,需要注意命令的合法性。 由于事务中的命令是按照顺序执行的,所以,在编写事务时,需要注意命令的先后顺序。 使用事务时应遵循轻量化原则,避免单次事务中打包过多命令或复杂度过高的命令,执行的事务中包含命令过多会引起请求阻塞或实例状态异常。
  • Pipeline 大小选择及注意事项 虽然使用 Pipeline 可以节省网络IO开销,但 Pipeline 并不是越大越好;使用 Pipeline 对程序性能的提升是有上限的,随着 Pipeline 逐渐增加,提高 Pipeline 的收益逐渐降低;如果一次组装的 Pipeline 数据量过大,一方面会导致客户端等待时间增加,另一方面,如果大的 Pipeline 导致 socket buffer 写满,可能会带来网络阻塞,反而引起性能下降; 根据经验,30 - 100 大小的 Pipeline 就已经可以充分发挥数据库的性能,具体最佳值与实际业务有关,建议以实际测试为准。 其它注意事项: Pipeline 不保证原子性,服务端在处理批量命令时,解析出多个单命令并按顺序执行,各个命令相互独立,服务端有可能在该过程中执行其他客户端的命令。某个命令执行失败不会影响其他命令的执行,如需原子性,需要使用事务或lua实现。 单次 Pipeline 的大小需要适当,大Pipeline可能会有OOM风险,也可能会造成网络阻塞;因为Redis 必须在处理完所有命令前,先缓存起所有命令的处理结果。这样会有内存的消耗,过大Pipeline造成内存上涨甚至OOM;对于单个命令数据长度较大的场景,需要适当的减小 Pipeline。 对于时延敏感的场景,不建议使用大 Pipeline,需要结合业务场景选择合适的 Pipeline大小。
  • Pipeline 简介 Redis 是一个请求/响应模型的服务,通常执行一个命令的流程为: 图1 Redis 命令执行流程 客户端发送命令到 Redis 服务器。 Redis 服务器收到命令,排队等待处理。 Redis 服务器执行命令。 Redis 服务器返回结果给客户端。 上述4个步骤中,步骤1和4是IO操作,速度慢并且受网络状况影响,很容易成为瓶颈点。 为了减小网络开销,充分发挥 Redis 高性能的优势,可以使用 Pipeline 流水线执行命令。Pipeline 机制通过将一组 Redis 命令进行组装,一次发送多个命令,并在执行完成后一次性返回结果集,可以减少网络传输带来的开销,流程如下图所示: 图2 使用 Pipeline 访问Redis 上图中的 Pipeline 将3条命令封装成一组,只需要进行一次网络IO就完成了3条命令的执行。 除了网络层面的开销,使用 Pipeline 还可以减少客户端/服务器的 read()/write() 调用,提高程序的执行效率。
  • 蜂巢工软工业云小站基础实施(配置网络) 云小站内路由器的静态IP地址配置(办公网段内一个未使用静态IP) 生产预安装发货时,CPE路由器IP是DHCP自动分配的,发货到现场后,需要根据客户现场组网规划好CPE的办公网段内一个未使用的IP,由现场交付人员或客户维护人员配置CPE的静态IP地址。 CPE 地址查询:登录路由器,查询WAN口IP地址,如下图,WAN口IP地址为192.168.102.204,则:客户办公网访问平台登录地址为192.168.102.204:9900. 图1 运行状态 先从客户办公网拉一条网线接入路由器WAN后才能查询到IP地址。
  • 应用场景 场景一:服务快速部署,简单运维 客户痛点: 企业整体信息化水平较好,但面向设计和生产制造与运营的数字化系统和能力薄弱,需要先导式引入和快速部署能力支撑。 在试点应用引入过程中,公司投资人和内部管理要求对数据本地化留存和安全约束性大,很难直接使用公有云。 通过本方案实现的业务效果: 数据和业务在企业本地运行; 能够快速部署各类SaaS化或专项工业软件; 运维简单,硬件资源可扩展。 场景二:打造平台型服务 客户痛点: 制造业创新平台型商业模式,但潜在入住(联盟)企业数字化水平普遍偏低,难以支撑平台打造的业务正常开展; 平台主体数字化缺乏考虑各入住(联盟)企业本地化运维成本和一致性,难以实现用数据驱动业务协同; 通过本方案实现的业务效果: 面向各(联盟)企业本地化快速部署、开箱即用;对于部署在各(联盟)企业的软硬件可以远程统一运维管控;利用各(联盟)企业数据分析、预测业务协同开展和降本增效。 场景三:制造业生产数据精细化流程化管理 客户痛点: 原料的精细化、流程化、智能化生产加工程度不足;库存管理的精确度和供应链效率较低; 系统支撑用户管理的数字化程度低,缺乏用户数据沉淀,无法有效的用户运营管理; 线上线下的业务活动数据割裂,打通和管控难度大,难以有效利用与调控价值数据,系统集成和运维成本高; 数字化转型技术能力弱,试错成本高。 通过本方案实现的业务效果: 一套系统,成熟可信、使用便捷、成本低廉、支撑生产全过程流程化,提升整体供应链效率; 企业能够对通过对订单的管理和分配,使仓储、运输、订单等全生命周期的设计数据及信息进行高效和经济的应用和管理;同时,通过业务活动数据互通互联,推动实现线上线下网络化协同; 数字化转型升级,通过数据驱动研发设计开展和管理,达到智能制造成熟度二级及以上。 场景四:一体化统一管控 客户痛点: 生产流程、制造工艺和检验检测等生产业务标准化、智能化程度低,充满了大量非结构化信息或不可控因素; 专业软件工具分散部署,数据、应用、资源没有统一安全管控,企业核心数据和知识产权无法充分保障,数据安全风险高; 智能化要求高,但数字化转型技术能力弱,试错成本高; 过去应急或被动上的系统间都是孤岛,打通困难,系统集成和运维成本高。 通过本方案实现的业务效果: 从工单、生产、设备管理、保养、质量管制到出入库、进出货等整合的系统,整个生产过程实时采集数据、控制和监控,并能实现对设备层的直接管控; 数字化转型升级,通过数据驱动生产制造业务开展和管理,达到智能制造成熟度二级及以上; 一套系统,成熟可信、使用便捷、成本低廉、支撑生产制造多场景,支持与其他业务、管理系统联动。
  • 方案架构 图1 业务架构图 工业云小站解决方案由基础组件+可选工业应用+lSC Desk组成,具体能力如下: 基础组件 iDME、工业软件SaaS服务中心为企业提供工业软件管理服务 iDME为工业软件运行提供数据服务 云边端协同引擎服务为企业提供远程集中管理,边缘数据采集服务、 云日志服务LTS 为企业提供日志结构化处理、告警等服务 高阶服务提供上层应用运行依赖的组件和服务 硬件设施提供上层应用运行所需的计算、存储、网络等物理资源。 工业云小站设计与咨询服务为企业提供数字化转型云小站方案 容器镜像服务 SWR为企业提供容器镜像全生命周期管理的服务 交换数据空间 EDS为企业提供数据主权保护服务 可选工业应用:提供企业数字化转型所需的各种工业APP,用户按需从华为云商店订阅 l5C Desk:提供工业软件桌面管理丁具,用于用户管理订阅的工业软件 图2 部署架构图 云商店提供工业软件购买获取渠道,通过iDME,工业软件SaaS服务中心分发至边侧和端侧 iDME,工业软件Saas服务中心实现了软件的阅管理,权限管理,和应用分发 iDME为工业软件的运行提供数据服务 云边端协同引擎服务为企业提供集群管理能力和远程运维能力 云日志 服务提供了应用日志采集,日志管理,定制监控和告警规则 容器 镜像服务 提供简单易用、安全可靠的镜像管理功能,帮助用户快速部署容器化服务 交换数据空间提供企业数据高效流通,实现数据价值最大化的交换与共享平台方案优势
  • 方案优势 提升企业生产和协同效率:云小站软硬一体的解决方案,通过可选安装的生产管理软件,实现从流程设 计,到工单生产、设备管理、保养、质量管制再到出入库、进出货等,整个 生产过程的实时采集数据、控制和监控,一体化的管理,能充分达到企 业 降本增效的目的。 提供应用订阅和分发等管理能力:通过云端IDM、工业软件SaaS服务中心,和小站上的下沉版IDME、工业软件saas服务中心,用户可以便捷地订阅和管理各种工业软件APP。 支持应用自动分发部署,缩短交付周期:用户在边端订阅工业APP后,应用可以便捷地从云商店快速部署到云小站,无需再手动远程部署,减小人力消耗,缩短项目交付周期。 降低交付运维成本:基于华为云云边协同引擎服务,用户可以把所有小站服务器纳入集群,不再受地理、机房的限制,方便统一的监控和管理。 低时延:小站部署在企业侧,和用户同一网络,延时仅1-2ms。 数据安全:数据留存在企业内部,由用户控制 ,无需担心流失的风险。
  • 精简代码大小和镜像瘦身 由于FunctionGraph在冷启动的时候会下载函数代码,下载代码的过程也会影响启动时间。如果代码包太大,下载时间将会变长,导致增加FunctionGraph的启动时间;如果使用 自定义镜像 函数,镜像越大,启动时间也会越长。所以,为了降低冷启动时间,可以对应用程序进行瘦身,比如在程序中移除不必要的代码、减少不必要的第三方库依赖等。例如,在Node.js中执行“npm prune”命令、在Python中执行“autoflake”。另外,某些第三方库中可能会包含测试用例源代码、无用的二进制文件和数据文件等,删除无用文件可以降低函数代码下载和解压时间。
  • 快照冷启动 Java应用冷启动速度慢的问题尤为突出。华为云FunctionGraph创新提出的基于进程级快照的冷启动加速解决方案,致力于在用户无感知(无需/少量进行代码适配)的前提下,帮助用户突破冷启动的性能瓶颈。本优化方案直接从应用初始化后的快照进行运行环境恢复,跳过复杂的框架、业务初始化阶段,从而显著降低Java应用的启动时延,实测性能提升达90%+。 用户使用Java函数可以打开冷启动快照加速的配置开关,详情请参见配置快照式冷启动。华为云FunctionGraph会预先执行函数对应的初始化代码,获取其初始化执行上下文环境的快照,并进行加密缓存。后续调用该函数并触发冷启动扩容时,会直接从提前初始化后的应用快照来恢复执行环境,而非重新走一遍初始化流程,以此达到极大提升启动性能的效果。
  • 示例流程 图1 给用户授权MetaStudio权限流程 创建用户组并授权 在IAM控制台创建用户组,并授予MetaStudio管理员权限“MetaStudio FullAccess”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,验证MetaStudio FullAccess的管理员权限。 在“服务列表”中选择数字内容生产线,进入服务主界面,单击“分身形象制作”,并参考形象制作,制作分身数字人。如果制作成功,说明“MetaStudio FullAccess”已生效。
共100000条