gpt4 book ai didi

java - Spark 还是传统的守护进程来处理流更新?

转载 作者:行者123 更新时间:2023-12-02 02:27:19 25 4
gpt4 key购买 nike

这是一个征求有关实现选项想法的问题。

我们正在迁移当前使用 Spark Streaming 的系统。在设计新系统时,我们正在讨论两种实现方案:

  1. 继续使用 Spark Streaming
  2. 改用常规守护进程

我们的用例:我们有一个数据存储,它不断生成我们需要使用的更新。我们数据的规模和频率只会变得更大、更快。

我可以访问我们当前的 Spark 作业 Web UI,如果需要任何指标/数据来支持任一选项,请告诉我。

谢谢!

最佳答案

感谢您的评论。

如果您只需要捕获数据并将其移动到其他地方,基于守护程序的解决方案可能会起作用。尽管如此,您的数据源必须允许轻松添加新的消费者,就像 Apache Kafka 对消费者组所做的那样。在这种情况下,您可以简单地在任何您想要的地方部署一个新容器(Kubernetes、Mesos、ECS...),并让您的源将工作负载分配给新的使用者。看起来不错。

但是,如果您想要制作一些复杂的东西,例如有状态聚合、分组操作,则很难从头开始重新实现所有内容并在事后对其进行维护。在我看来,即使你现在知道你不需要它,也没有什么可以保证它会永远如此。除此之外,您还需要使自定义使用者适应每个新版本,而对于开源解决方案,大部分时间都由社区处理。

如果您关心扩展,Apache Spark 将根据底层数据存储分区分布进行相应扩展。因此,如果您在 Kafka 主题中添加新分区,Apache Spark 应该相应地进行扩展 - 我同意自动执行此操作并不是一件容易的事,但您仍然只关注 1 个问题(自动扩展)和上一个选项 auto - 扩展是需要实现的众多要点之一。

此外,您说您的团队拥有 Apache Spark 专业知识,因此保留它是有意义的。

希望它对您的决策过程有所帮助。

您能否稍后分享您所做的决定并简要解释一下?

关于java - Spark 还是传统的守护进程来处理流更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57246115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com