PI将成为全世界瞩目的加密数字币,手机就可以免费挖矿,活跃矿工已经超过3000万,注册用户超过一亿,来自全世界200多个国家,其价值潜力远超越一般认知,也将会成为全世界广泛流通的数字货币,没有之一。
如果被选上成为普通节点或超级节点,则相当于建立一个世界级银行网点,收益将会源源不断!而现在正是PI币的大红利期,所以看明白的人都会要搭建属于自己的节点服务器。
背景介绍:我们系统使用的缓存服务是付费版的阿里云的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压力情况对比:
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)