检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Redis健康检查 Redis健康检查的作用是判断Redis服务端是否正常工作,使用health_check_interval配置对Redis进行定时健康检查,该配置单位为秒,默认值为0不进行健康检查,代码如下: retry = Retry(ExponentialBackoff()
=(函数单实例并发度)*(函数单次执行访问Redis并发度) 最大连接数上限 =(Redis实例连接数上限)/(函数最大实例数) 举例:某个访问Redis函数单实例并发度配置为5,每次执行函数访问Redis并发度为2,函数最大实例数默认400,访问的Redis实例连接数上限为30000,计算如下:
Redis重试机制 Redis客户端支持添加自动重试机制,确保在执行Redis操作失败后重试特定次数,这样能大幅度降低暂时性故障影响。例如:发生瞬时的网络抖动、磁盘抖动导致服务暂时不可用或者调用超时的情况下,提高Redis操作的成功概率。 连接DCS单机、主备、读写分离、Prox
使用函数访问Redis数据库 案例概述 准备 创建依赖包 创建函数 示例代码 FunctionGraph监控告警 日志告警 调试函数
准备 购买Redis实例,如果已有Redis实例可以跳过。 查看Redis实例的连接信息,获取待连接Redis实例的IP地址。具体步骤请参见查看实例信息。 创建一个有“VPC Administrator”权限的FunctionGraph云服务委托,配置委托权限请参见配置委托权限。
案例概述 FunctionGraph支持在函数内访问客户的Redis数据库。本文介绍如何使用FunctionGraph和Redis客户端的能力,实现一个高可定制、高可靠、高可观测的最佳实践。 父主题: 使用函数访问Redis数据库
输入您自定义的依赖包名称,此处以“redis-py-4.6.0”为例,代码上传方式为上传zip文件,单击“添加文件”添加redis-4.6.0.zip包,运行时语言选择“Python3.9”,最后单击确认。 父主题: 使用函数访问Redis数据库
云日志服务(LTS)的对接,支持在LTS服务中配置告警,LTS支持日志告警实时监控函数日志中出现的异常信息。 父主题: 使用函数访问Redis数据库
调试函数 我们可以在函数代码详情页“配置测试事件”和“测试”中在线调试函数,如下: 图1 在线调试函数 父主题: 使用函数访问Redis数据库
在“设置”页签下配置“网络配置”,选择待访问Redis实例所在的虚拟私有云(VPC)和子网。 图6 网络配置 在“设置”页签下添加“环境变量”,添加待访问Redis实例的redis_ip_address(Redis IP地址)和redis_password(Redis连接密码)环境变量,同时开启“redis_pas
FunctionGraph函数监控信息,提供了调用次数、运行时间、错误次数、拒绝次数和资源统计监控指标。建议对监控指标中的错误次数和运行时间-最大运行时间创建告警配置,这样就能及时感知到如下情况: 访问Redis异常。例如连接异常、请求超时、服务暂时不可用,导致函数执行错误计入错误次数指标。
示例代码 连接DCS单机、主备、读写分离、Proxy集群实例 连接DCS集群实例 代码解读 父主题: 使用函数访问Redis数据库
代码解读 FunctionGraph函数初始化入口 Redis连接池 Redis重试机制 Redis健康检查 父主题: 示例代码
函数如何访问Redis? 本章介绍函数如何访问Redis,具体操作步骤如下: 确认Redis实例是否搭建在VPC的网络中? 是,为函数设置与Redis实例相同的VPC、子网,具体请参考函数配置VPC。 否,Redis实例搭建在公网中,获取Redis实例的公网IP地址。 在函数中,
在示例代码中我们在initializer方法内创建Redis客户端,并在创建函数时配置了初始化函数,如下: def initializer(context): global redis_client redis_client = create_redis_client(context)
连接DCS集群实例 from redis.cluster import RedisCluster as Redis from redis.cluster import ClusterNode redis_client = None def create_redis_client(context):
查看连接报错信息如下,通过VPC2连接Redis2时,Redis IP地址变成乱码。 分析Redis1与Redis2除了IP地址和密码不一样之外,其他没有什么不同,让客户比较两个Redis密码后发现,Redis2的密码中含有@符号,导致请求redis的时候IP地址截取有误变成乱码了。 修改Redis2的密码后正常。
getLogger() redis_address = context.getUserData("redis_ip_address") redis_host = redis_address.split(":")[0] redis_port = redis_address.split(":")[1]
函数如何访问MySQL数据库? 本章介绍如何访问MySQL数据库,具体操作步骤如下: 确认MySQL数据库是否搭建在VPC的网络中? 是,为函数设置与MySQL数据库相同的VPC、子网,具体请参考函数配置VPC。 否,具体请参考如何配置外网访问?。 在函数模板中搜索mysql,根据使
FunctionGraph函数是否支持扩展? FunctionGraph目前已经集成了一些非标准库如:redis、http、obs_client等,开发函数时可以直接使用,详情请参考开发指南。 用户可以通过维护属于自己的依赖代码库,供所有函数使用,请参考依赖包管理。 父主题: 通用问题