重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
背景介绍:我们系统使用的缓存服务是付费版的阿里云的redis集群服务,配置是4核,16G。redis的集群结构如下:分为四个节点DB0,DB1,DB2,DB3
创新互联公司服务项目包括革吉网站建设、革吉网站制作、革吉网页制作以及革吉网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,革吉网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到革吉省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
之前的存储方案是存储的商品促销数据,结构是:
KEY FIELD VALUE来存储。其中KEY是一个固定的字符串"zy:prom:wx",FIELD则是商品sku,VALUE是商品促销的具体信息。这种方式导致我们存入缓存服务器的数据一直集中在DB0节点上,在访问量过大时,该节点会在短时间内受到到的访问压力很大,DB0的cpu瞬间达到100%以上,造成服务卡顿甚至不可用。而相比之下DB1,DB2,DB3的节点cpu压力却很小,可以忽略不计。这是为什么?最后询问了阿里的技术,他们说我们的数据存储的方法有误,具体是我们的key设置有误。与阿里的技术对话如下:
所以我们后来改造了方案把key的组成变程了"prom:wx:sku",这样key就会根据sku的不同而不同,增大了key的离散度,这样key通过hash算出来的值,就会不同,使得所有的数据不再存放到同一台节点上,完美解决问题。
修改后的存储分布情况如下图:DB0、DB1、DB2、DB3四个节点数据均匀分布。
对修改前后两天同一时间区间的缓存服务器的cpu压力情况对比:
通过云监控平台看阿里云redis使用率。根据查询相关信息得知您可以通过云监控平台查看内存使用率,计算当前内存使用量。也可以进一步通过redisrdbtools工具对目标Redis实例的rdb文件进行分析,获取目标Redis实例的内存详细使用情况。阿里云数据库Redis版是兼容开源Redis协议标准、提供内存加硬盘混合存储的数据库服务,基于高可靠双机热备架构及可平滑扩展的集群架构,可充分满足高吞吐、低延迟及弹性变配的业务需求。
阿里云还提供了redismysql的数据库的原因如下:
1、redismysql作为用户上云的首选,完全进入社区特性,紧跟社区发布速度,而且做到和社区的PR相关的合并都跟进。
2、积极贡献社区,有Redis全球开发维护团队的5人小组的成员之一,在阿里云,有3个人是在Redis原厂,还有一个在AWS上,是全中国唯一一个进入全球开发小组的成员,对社区版的贡献非常多。
3、作为云厂商,提供Redis相关数据库服务都属于云托管,用户在界面上下单购买Redis服务,拿到Redis数据库,但是对于大型自建Redis客户有局限性。