【问题标题】:Real Time Streaming With Multiple Data Sources Using Kafka使用 Kafka 的多个数据源的实时流式传输
【发布时间】:2017-03-17 11:21:09
【问题描述】:

我们正计划用 apache kafka 构建一个实时监控系统。总体思路是将多个数据源的数据推送到kafka,进行数据质量检查。我对这个架构没有几个问题

  1. 从多个来源(主要包括 java 应用程序、oracle 数据库、rest api、日志文件到 apache kafka)流式传输数据的最佳方法是什么?请注意,每个客户端部署都包含每个此类数据源。因此,向 kafka 推送数据的数据源数量将等于客户数量 * x,其中 x 是我列出的数据源类型。理想情况下,推式方法最适合而不是拉式方法。在拉取方法中,目标系统必须配置各种源系统的凭据,这不切实际
  2. 我们如何处理故障?
  3. 我们如何对传入消息执行数据质量检查?例如如果某条消息不具备所有必需的属性,则可以丢弃该消息并发出警报以供维护团队检查。

请让我知道您的专家意见。谢谢!

【问题讨论】:

    标签: streaming apache-kafka monitoring


    【解决方案1】:

    我认为这里最好的方法是使用 Kafka 连接:link 但这是一种拉式方法: Kafka Connect sources are pull-based for a few reasons. First, although connectors should generally run continuously, making them pull-based means that the connector/Kafka Connect decides when data is actually pulled, which allows for things like pausing connectors without losing data, brief periods of unavailability as connectors are moved, etc. Second, in distributed mode the tasks that pull data may need to be rebalanced across workers, which means they won't have a consistent location or address. While in standalone mode you could guarantee a fixed network endpoint to work with (and point other services at), this doesn't work in distributed mode where tasks can be moving around between workers. 艾文

    【讨论】:

    • 我同意基于拉取的 Kafka 连接方法的优点,但考虑到连接器需要从多个来源拉取,这取决于客户端的数量。我们如何处理诸如在连接器中配置源凭据、频繁添加和删除客户端等事情。源平台的管理似乎是一个挑战。我们如何有效地处理这个问题?
    • 我也有类似的情况。你有没有解决你的问题@AndyDufresne
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-03
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 1970-01-01
    相关资源
    最近更新 更多