各位大数据开发的兄弟,问个埋点系统的问题

344 天前
 johnzhangbkb

想了解各位设计埋点上报的时候,我们现在有两种方案。

  1. 代码->kafka->统计分析
  2. 代码->file->logstash->kafka->统计分析

你们会用哪种方案呢?

1363 次点击
所在节点    程序员
12 条回复
tensorzhang
344 天前
2, 多一层保障。
levelworm
344 天前
kafka 之后不进个 datalake 之类的吗?好奇。我没玩过大数据开发,在邻近领域。
haimianbihdata
344 天前
要求实时?
ETiV
344 天前
2

因为代码直传 kafka 会走网络,而当时如果网络不通、闪断之类的,代码上就要处理缓存、重试等逻辑 —— 不是不行,而是投入精力去写这个没必要…

而且我们也会在实际场景中碰到「过了 1 、2 天才发现数仓里的数据比之前少了很多」的情况,这时候可以用 2 里面的文件去找补回来。
Senorsen
344 天前
2 多一层比较可靠的 buffer ,不过数据盘要设计好,log 的和应用数据 /系统盘要分开。
johnzhangbkb
343 天前
@ETiV 这个场景同时写一份到 file 也能满足吧。主要我们对 Logstash 压测,对系统资源占用还挺大的。
johnzhangbkb
343 天前
@Senorsen @tensorzhang 这个场景同时写一份到 file 也能满足吧。主要我们对 Logstash 压测,对系统资源占用还挺大的。
coolcoffee
343 天前
不应该是先进 kafka ,再转到 logstash 吗?有多少消息都先让 Kafka 承接下来,logstash 按照固定的速率慢慢消化就行。
proxychains
343 天前
扔到 kafka 吧. 慢慢消费
vincent7245
343 天前
第二种,数据分析和业务系统一定要解耦,数据分析时业务的辅助,绝对不能影响业务系统的正常运行。第一种方案的弊端就是,如果 kafka 出问题了,业务系统也会遭殃
tensorzhang
343 天前
@johnzhangbkb #7 申请加机器
tinyproxy
343 天前
1. 时间急,或者没有额外的人力,走 2 ;
2. 时间不急,做一套 SDK ,把上报过程中可能会出现的各种问题(比如 kafka 出问题,网络出问题等等),都给处理了,然后所有人用这套 SDK 上报数据到 kafka ;

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

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

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

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

© 2021 V2EX