为什么很多场景数据先写入 kafka 再写入 elastic,而不是直接写 elastic?

2021-12-12 22:36:32 +08:00
 daoqiongsi1101

是因为直接写 elastic 会造成 es 压力太大吗,所以用 kafka 缓冲一下?

1509 次点击
所在节点    Kafka
5 条回复
abersheeran
2021-12-12 22:52:16 +08:00
因为用 mq 可以消峰填谷啊。整体来看能节约机器资源。
ipwx
2021-12-12 23:07:46 +08:00
因为现实世界中可能有突如其然的大量数据,让 es 暂时宕机。此时如果你每个客户端都自己重试,就会让这个突如其来再度翻几倍,那么你将损失一大批数据。Kafka 的写入比 es 快很多,所以相当于一个缓冲区,还是分布式的。
akira
2021-12-12 23:31:12 +08:00
是的。如果你的数据量很小,就没必要上 kafka 了
iyaozhen
2021-12-12 23:33:42 +08:00
就是你说的那样 但最终也取决于 ES 的性能,经常遇到队列阻塞,数据延迟的
CEBBCAT
2021-12-12 23:57:33 +08:00
原因很多,看设计者了。有的时候其他部门也要用这个事件

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

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

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

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

© 2021 V2EX