【问题标题】:query/filter the events in kinesis stream查询/过滤运动流中的事件
【发布时间】:2017-07-25 01:07:59
【问题描述】:

我正在为我的 架构开发 Kinesis-streams,但由于其荒谬的基础设施需求而未能使用

无论如何,我有 Kinesis 生产者、消费者工作正常(尽管延迟很高)。我一直在做我的 使用流来验证事件是否已写入流。

但我要找的是 Stream 仪表板,非技术人员也可以使用。

因为在生产中,像管理人员/(甚至是懒惰的调试器)这样的人显然不想编写代码来查看流中的事件,而是在仪表板中查看会有所帮助。

我认为 Kinesis-streams 没有查询功能。

作为此功能的解决方案,

  • 我可以在将事件写入 kinesis 后立即使用它并应用到另一个支持查询/过滤功能的数据存储(例如 MongoDB、DynamoDB),这需要我花时间在紧迫的时间内实施。

  • 或者,将 kinesis 事件流式传输到 也可以解决我的问题,尽管 Analytics 不是为此目的而设计的。而且它超级慢,最多需要 15/20 秒才能显示在仪表板中,也不会显示新事件。

我尝试将具有 {"eventType": "KinesisEvent", "someField" : "some value", "createdTime" : "some data"} 格式的 JSON 事件的源 kinesis-stream ComponentTest_Producer_Stream_2_6_117 导入到 kinesis-analytics。

它以某种方式自动检测到事件并填充到仪表板中,(多次尝试后)

  • 我也不确定 Cloudwatch 是否可以解决这个问题,我的问题完全没有意义?亚马逊 WS 世界中的工具太多了,我对它超级陌生。

我的问题是

1) Kinesis-stream 使用什么数据存储来存储事件?

2) 推荐在运动流中查询/过滤事件的策略。

【问题讨论】:

    标签: event-sourcing kafka component-testing kinesis-analytics amazon-web-services event-sourcing amazon-kinesis


    【解决方案1】:

    我认为您要解决的主要问题是如何构建一个仪表板,让您的队友可以使用它来快速窥视系统。我可以建议两个选项:

    • 运行一个单独的消费者应用程序,该应用程序处理数据并推送到 DynamoDB 等数据存储。您可以构建一个轻量级的 UI 来显示此信息。一种相关的例子可以在here找到。
    • 将 Kinesis 数据加载到 Elasticsearch 集群(相关文档here)并使用Kibana 进行可视化。 Kibana 是开源的,功能极其强大,并且允许在 UI 上轻松自定义聚合。

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-04
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多