Aki*_*inn 4 broker apache-kafka mosquitto apache-spark apache-storm
出于研究目的,我正在研究一种进行实时(以及离线)数据分析和语义注释的架构。我附上了一个基本架构:我有一些传感器连接到树莓派 3。我想可以使用像 mosquitto 这样的 mqqt 代理来处理这个链接。但是,我想收集树莓派上的数据,做一些事情,然后将它们转发到商用硬件集群,以使用 Spark 或 Storm 执行实时推理(有关于哪个的提示吗?)。然后,这些数据必须存储在 Hadoop 集群可访问的 NoSql 数据库(可能是 Cassandra 或 HBase)中,以对它们执行批量推理、语义数据丰富并在同一数据库上重新存储。因此客户可以查询系统以提取有用的信息。
我应该在红块中使用哪种技术?我的想法是 MQQT,但 Kafka 或许更适合我的目的?
火花与风暴
Spark 目前是 Spark 和 Storm 之间明显的赢家。至少一个原因是 Spark 能够以高性能的方式处理大量数据。Storm 难以高速处理大量数据。大多数情况下,大数据社区已经接受了 Spark,至少目前是这样。Apex 和 Kafka Streams 等其他技术正在流处理领域掀起波澜。
Kafka 生产到 Raspberry Pi
如果您选择 Kafka 路径,请记住,根据我的经验,Kafka 的 Java 客户端是迄今为止最可靠的实现。不过,我会做一个概念验证,以确保不会出现任何内存问题,因为 Rasberry Pi 没有大量 RAM。
心中的卡夫卡
将 Kafka 保留在 RED 盒子中将为您提供一个非常灵活的架构,因为任何进程:Storm、Spark、Apex、Kafka Streams、Kafka Consumer 都可以连接到 Kafka 并快速读取数据。将 Kafka 置于架构的核心为您提供了所有数据的“分发”点,因为它速度非常快,而且还允许数据永久存储在那里。请记住,您无法查询 Kafka,因此使用它需要您尽可能快地读取消息以填充其他数据存储或执行流计算。
归档时间: |
|
查看次数: |
398 次 |
最近记录: |