【发布时间】:2017-09-02 08:28:17
【问题描述】:
我是软件开发的新手。目前我正在做一个从安装在不同位置的传感器收集实时数据的项目。每个传感器每分钟都会向服务器发送数据。将来我预计每分钟有 100k 传感器向服务器发送数据。目前我正在做以下事情。
- 在 Node.js 上制作的服务器中的 TCP 侦听器
- 将接收到的数据放入队列
- 验证数据并将其推送到数据库
现在我需要实现很多其他业务逻辑,例如当传感器数据超过预设值时发送短信或电子邮件。检测是否发生了一些不好的事情,比如不同类型的实时处理。
我正在考虑为不同类型的数据处理编写单独的 Node.js 应用程序,如下所示。
- TCP 监听器(同上)
- 将接收到的数据放入队列(同上)
- 验证数据并推送到数据库。 (同上)。如果这个传感器需要某种数据处理,我打算把它放到另一个队列中
- 处理此新 QUEUE 的单独申请
所以我期待另外 4 个单独的应用程序和 QUEUE 用于实现特殊的实时数据处理。
- 队列:Apache Kafka
- 数据库:Cassandra
我是走对了路还是有更好的方法?
【问题讨论】:
标签: node.js cassandra architecture apache-kafka