检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
案例概述 FunctionGraph支持在函数内访问客户的Redis数据库。本文介绍如何使用FunctionGraph和Redis客户端的能力,实现一个高可定制、高可靠、高可观测的最佳实践。 父主题: 使用函数访问Redis数据库
组的ID和分配的子域名。 总体思路 创建FunctionGraph函数和APIG触发器,并且通过APIG触发器触发API获取静态页面,步骤如下: 创建函数:创建一个返回的静态页面函数。 创建触发器:创建APIG触发器。 通过APIG触发器调用API,获取静态页面。 步骤1:创建一个返回的静态页面函数
警配置不生效。但是FunctionGraph实现了与云日志服务(LTS)的对接,支持在LTS服务中配置告警,LTS支持日志告警实时监控函数日志中出现的异常信息。 父主题: 使用函数访问Redis数据库
创建一个有“VPC Administrator”权限的FunctionGraph云服务委托,配置委托权限请参见配置委托权限。 父主题: 使用函数访问Redis数据库
示例代码 连接DCS单机、主备、读写分离、Proxy集群实例 连接DCS集群实例 代码解读 父主题: 使用函数访问Redis数据库
首次访问函数慢,如何优化? 如果您使用的是C#或者Go语言,因为机制原因,启动速度会比其他语言慢。此时,您可以通过以下设置,增加运行速度。 适当增加函数的内存。 精简函数代码,例如:删除不必要的依赖包。 使用C#语言时,除了以上两种方法,在非并发场景下,您还可以通过以下方法增加运行速度。
0”为例,代码上传方式为上传zip文件,单击“添加文件”添加redis-4.6.0.zip包,运行时语言选择“Python3.9”,最后单击确认。 父主题: 使用函数访问Redis数据库
return value 表1 RedisCluster配置 参数 默认值 说明 host localhost 连接Redis实例的IP地址/域名 port 6379 连接端口号 cluster_error_retry_attempts 3 当遇到TimeoutError、Conn
相同的代码,函数能通过VPC1连通Redis1,但是不能通过VPC2连通Redis2。 解决方案 与客户确认问题现象,Redis1在VPC1中,Redis2在VPC2中,Redis客户端代码是同一套代码。 查看连接报错信息如下,通过VPC2连接Redis2时,Redis IP地址变成乱码。 分
户和子账户的project_id相同。) 配置域名(可选)。 如果函数需要通过内网域名访问VPC内的服务,可配置和VPC绑定的域名,域名可以配置多个,如图1所示。 创建内网域名请参见创建内网域名。 当前函数仅支持对A记录集类型的域名解析,记录集添加请参见记录集类型及配置规则。 配置VPC对等连接网段(可选)。
客户端使用连接池时不要将获取连接的操作放在初始化函数 initializer 方法中,否则只会在初始化时获取一个连接而导致连接池使用无效。当网络抖动时可能会使已获取的连接断连,后续复用该实例的并发请求时可能会因断连而访问redis失败。 表1 Redis配置 参数 默认值 说明 connection_pool
代码解读 FunctionGraph函数初始化入口 Redis连接池 Redis重试机制 Redis健康检查 父主题: 示例代码
此时调用链会从应用性能管理APM服务自动获取一个访问密钥AK/SK,如图2。 图2 获取访问密钥 已有访问密钥:在“访问密钥ID”的下拉列表中选择“访问密钥ID”,选择完成后单击“确定”,完成开通。 无访问密钥:单击“创建”进入APM控制台,参见新增访问密钥,新增后的AK/SK会同步至FunctionGraph控制台。
=(函数单实例并发度)*(函数单次执行访问Redis并发度) 最大连接数上限 =(Redis实例连接数上限)/(函数最大实例数) 举例:某个访问Redis函数单实例并发度配置为5,每次执行函数访问Redis并发度为2,函数最大实例数默认400,访问的Redis实例连接数上限为30000,计算如下:
Redis重试机制 Redis客户端支持添加自动重试机制,确保在执行Redis操作失败后重试特定次数,这样能大幅度降低暂时性故障影响。例如:发生瞬时的网络抖动、磁盘抖动导致服务暂时不可用或者调用超时的情况下,提高Redis操作的成功概率。 连接DCS单机、主备、读写分离、Prox
FunctionGraph函数初始化入口 在示例代码中我们在initializer方法内创建Redis客户端,并在创建函数时配置了初始化函数,如下: def initializer(context): global redis_client redis_client
Redis健康检查 Redis健康检查的作用是判断Redis服务端是否正常工作,使用health_check_interval配置对Redis进行定时健康检查,该配置单位为秒,默认值为0不进行健康检查,代码如下: retry = Retry(ExponentialBackoff()
Turbo文件系统。 创建委托。 自定义域名 如果您需要使用自定义域名,将会用到华为云提供的域名注册服务。您可以通过以下步骤实现: 创建信息模板并实名认证。 等待实名认证结果。 查询并购买域名。 备案域名。(备案时请选择备案服务为函数工作流) 配置域名解析。 父主题: 准备
在函数中引入动态链接库 函数运行环境中已经默认将代码根目录和根目录下的lib目录加入到LD_LIBRARY_PATH中,只需要将动态链接库放到此处即可。 在代码中直接修改LD_LIBRARY_PATH环境变量。 如果依赖的.so文件放在其他目录,可以在配置页面设置LD_LIBRA
密钥配置文档 获取密钥信息 登录华为云后台,单击右上角“账号中心 > 我的凭证 ”,进入“我的凭证”界面。 在左侧导航栏进入“访问密钥”界面,单击“新增访问密钥”生成新的密钥并下载保存。 配置密钥 引导式配置 可以通过执行config add直接进行密钥的添加: $ s config add