V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
daoqiongsi1101
V2EX  ›  Kafka

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

  •  
  •   daoqiongsi1101 · 2021-12-12 22:36:32 +08:00 · 1656 次点击
    这是一个创建于 1110 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    5 条回复    2021-12-12 23:57:33 +08:00
    abersheeran
        1
    abersheeran  
       2021-12-12 22:52:16 +08:00   ❤️ 1
    因为用 mq 可以消峰填谷啊。整体来看能节约机器资源。
    ipwx
        2
    ipwx  
       2021-12-12 23:07:46 +08:00   ❤️ 1
    因为现实世界中可能有突如其然的大量数据,让 es 暂时宕机。此时如果你每个客户端都自己重试,就会让这个突如其来再度翻几倍,那么你将损失一大批数据。Kafka 的写入比 es 快很多,所以相当于一个缓冲区,还是分布式的。
    akira
        3
    akira  
       2021-12-12 23:31:12 +08:00
    是的。如果你的数据量很小,就没必要上 kafka 了
    iyaozhen
        4
    iyaozhen  
       2021-12-12 23:33:42 +08:00
    就是你说的那样 但最终也取决于 ES 的性能,经常遇到队列阻塞,数据延迟的
    CEBBCAT
        5
    CEBBCAT  
       2021-12-12 23:57:33 +08:00
    原因很多,看设计者了。有的时候其他部门也要用这个事件
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1134 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 18:47 · PVG 02:47 · LAX 10:47 · JFK 13:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.