解决微信营销中转发、助力的瓶颈


微信营销由于成本低,效果好。受到广泛人群的欢迎。特别是在当前互联网+的鼓吹下。很多人花好几万、好几十万的做微信营销的活动,本人就遇到了一个这样的例子。


微信转发助力是现在微信营销中经常使用到的一种方式。邀请朋友过来点赞,其实就是为了增加这个活动的暴光率。而,我们在实际微信营销和微信开发中遇到了一些极大的性能瓶颈。


本人在某度工作,由于朋友介绍,不得以之下接了这个活,并且把问题得到了解决。我来详述业务和解决的过程。


我认为所有工作和架构,离开业务和公司背景谈,全是扯蛋!


这家公司的微信活动上线不到一个小时,瘫痪!由于时效性问题, 公司投入的10几万找其他微信大号作推广的费用全部白花了。


做微信营销活动公司背景:公司每年几个亿流水,互联网教育企业。销售做的一级棒,属于低调赚钱的公司。公司技术水平一般。公司,相信外包就能解决问题。技术团队,不太管事。


这个项目开发:是公司刚刚从某培训机构刚招的毕业生做的。


微信号关注人数:600万+(花钱购买了其他微信公众号的粉丝协助进行活动)


业务规则如下:

1,点助助力超过10个人,学习时长增加一个月

2,朋友转发一次,学习时长再增加一个月

3,还有转发的随机抽奖活动

4,需要对助力和活动的进行排名




我检查完代码后发现了5个特点:

1,用户这么多,他们只用了一个表

2,这个表引擎使用的是MyISAM

3,点赞助力操作特别频繁

4,没有CDN

5,页面中有大量的JS和CSS

6,没有分表

7,单机

8,没有memcached


我的解决办法,解决了绝大部份问题:

把CSS和JS放至其他域和机器,并且对图片和文件都加上CDN

把表引擎换成innoDB,并且加上主从

加上memcached


问题解决了绝大部份,压力下来很多,能访问了。但是,助力那儿计数不准确了。并且点赞助力那一块还有其他的业务要求:要求显示出来前20名的所有点赞助力用户。


正常情况下,我们的解决办法是使用一个计数服务器,这个计数服务器具有高写入等特点。可是——他们公司没有自动化运维,原有技术班底的人不会NoSQL。技术负责人,更加信任mysql,不愿意使用相关的计数器类服务器。


可眼前着急上线,达到目标,我们使用了新浪的conter服务。在新浪上做一个API,点赞的时候把值发给新浪,由新浪的计数器来完成计数。


再做一个计划任务,每5分钟取一下前50名点赞的key,把key查出数据库里面的用户名。放至memcached中。


达到目标,顺利完成任务!


最后个人评价:

其实解决过程比较简单,中级架构师都能解决他的问题。但是,遇到的问题可能来源于原有公司的情况。沟通问题。

有的时候,我们需要放弃自己的理念,在某些情况下以更快的速度达成目标为准责。

顾问身份尽量不要与原有团队成员发生冲突。


本文来源10分钟学院 网友投稿,转载请注明来源