有没有人知道 cnzz 这种统计的 后端计算架构是怎么样实现的 那么海量的数据实时(雾= =.相对实时的)处理

2016-04-22 11:33:58 +08:00
 0x5010
有了解的么 一起讨论下
8832 次点击
所在节点    程序员
43 条回复
Livisme
2016-04-22 11:53:44 +08:00
好奇+ 1
YouXia
2016-04-22 12:24:13 +08:00
HyperLogLog
0x5010
2016-04-22 13:51:59 +08:00
@YouXia 这样用来做统计会不会准确性不佳 能细讲些么
penjianfeng
2016-04-22 14:10:18 +08:00
@0x5010 正好最近给公司项目做了一个这个,前端只管上传数据,服务端的接口收到数据后只管保存本次的访问数据,不进行任何计算,然后由一个或者多个队列程序专门来跑这些数据,及时性要看数据量的大小,大了肯定都会有一点延迟的
lincanbin
2016-04-22 14:18:10 +08:00
这种各站点的统计数据互相独立的,只要堆机器和内存缓存就好了,哪里需要什么架构。
0x5010
2016-04-22 14:19:37 +08:00
@lincanbin 主要 cnzz 免费用户那么多, 那些硬件成本非常高的 不可能无脑堆
0x5010
2016-04-22 14:23:51 +08:00
@penjianfeng 模型肯定是这样 主要 后端的存储结构应该如何做才能满足那么多人的查询的及是返回 而且要考虑空间成本和计算成本 所以对他们的设计比较好奇
audi
2016-04-22 14:25:58 +08:00
曾经在 cnzz 现在合并的公司做过几年研发,大概知道一些。
penjianfeng
2016-04-22 14:29:16 +08:00
@0x5010 数据库直接存储的是统计结果,前端直接取数据,不涉及任何计算
shiny
2016-04-22 14:32:17 +08:00
你的零点的时候刷 cnzz 会发现数据不见了。
做类似服务的时候是先入内存再入库,然后进程定时统计数据。
0x5010
2016-04-22 14:57:10 +08:00
@penjianfeng 后端需要呀 不可能那么大的数据都入库肯定是经过计算聚合然后在入到存储的结构里去的
0x5010
2016-04-22 14:57:30 +08:00
@audi 大大能否讲解一二?
paw
2016-04-22 15:39:13 +08:00
kafka 前端收集,中间上 spark 、 storm 等分布式流处理,后面处理结果放到 hbase 或 phoenix 甚至 redis 供查询
总计算延迟基本 15 分钟内
然后,性能不够就加机器扩容....
stabc
2016-04-22 16:02:29 +08:00
这种其实跟群租户概念差不多,所有免费用户都是相对独立的,那么主服务器只要根据用户 ID 做一个负载均衡式的分流就好,化整为零,做实时存储都没问题。理论上可以毫无技术含量的支撑无线大的流量。
des
2016-04-22 16:09:37 +08:00
我倒想知道百度是怎么做的,搜了增高,广告立马全都变成增高
0x5010
2016-04-22 17:49:30 +08:00
@stabc 可是有的但个的量一天就好几十亿了,比如嵌入在广告里面的统计代码 而好几层基本一层一个
而且这样的情况很多,一天单单聚合这么大数据的计算量是非常大的
0x5010
2016-04-22 17:51:18 +08:00
@des 百度用户量多呀而且有帐号.每个用户相当于永久的 cookie.百度自己的广告识别你的 cookie 然后就知道你的搜索记录了 有符合你的广告优先返回 没有就返回关键字广告咯
jadecoder
2016-04-22 19:44:09 +08:00
曹政在公众号写过文章介绍了一点,可以去找找
txlty
2016-04-22 19:59:58 +08:00
楼主, CNZZ 和 51LA ,这俩统计,都是从个人网站起家的。
SO ,先听听站长本人怎么说:
http://www.1982y.com/index.php/archives/176
http://www.ajiang.net/article/artview.asp?id=1109
des
2016-04-22 20:48:21 +08:00
@0x5010 我其实是相问百度那么多用户,他们是怎么做到这么多数据的实时

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/273588

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX