我们目前正在设计一个大数据处理链。我们目前正在研究nifi/minifi来接收数据,进行一些标准化,然后导出到db。在标准化之后,我们计划分叉数据,这样我们就可以有一个实时的feed,它可以被使用不同过滤器的客户机使用。
我们正在研究nifi和/或kafka向客户发送数据,但它们都存在设计问题。
对于nifi,我们正在考虑添加一个websocket服务器,它侦听新的连接,并将它们的过滤器添加到一个定制的有状态处理器块中。如果该块与用户过滤器匹配,则该块将过滤数据并用适当的套接字id标记它,然后生成x个流文件以发送到匹配的客户端。这一部分似乎可以工作,但我们也希望能够在客户端连接短时间中断的情况下对数据进行排队。
作为另一种选择,我们正在研究Kafka,但它似乎不支持动态数量的客户端连接的想法。如果我们使用kafka流来过滤数据,那么每个客户机似乎需要一个主题?可能最终会超过zookeeper示例。或者我们可以使用nifi进行过滤,然后插入到不同的分区中,就像这样:kafka工作队列具有动态数量的并行使用者。但是支持的分区数量还是有限制的,对吗?更不用说,当我们放大和缩小时,我们将不得不让生产者和消费者从正确的分区读取数据。
我是不是错过了尼菲或Kafka的什么?或者有没有其他项目,我应该考虑这个过滤数据发送?
暂无答案!
目前还没有任何答案,快来回答吧!