大型新闻网站点击量的技术方案

网友提问:

1.问题主题

如何记录用户发表的文章的点击量

2.问题补充描述

当并发非常小的时候可以直接存在这个文章表里面,叫一个click_count,但是如果网站的访问量很高,那这样数据库肯定要累死,各位大牛有什么好的解决办法么?

8.5.3

mysqlops回答:

我们只讨论访问量很高的情况,例如:每天1亿及以上PV的新闻网站,建议做法可以分为2种方式:

1.使用缓存系统,比如Redis非常适合做计数器,异步的方式同步到MySQL数据库 或者Redis直接持久化的方式;

2.变相直接更新数据库的方式,每个应用程序服务都有一个自己内部的全局计数器,默认每隔10秒或者缓存计数达到10则一次性更新同步到数据库中,也即采用延迟非实时更新的方式,同时把计数器单独保存到一张表中,设计成父子表的模式;

上述2种方式作者都曾实施过,典型的场景是微博类的统计量太大,故采用第一种方式;阿里旺旺的新闻网站则采用第二种方式。

Tagged:

Comments are closed.