我正在开展一个小型的业余爱好项目,在那里我非常想要一些意见和建议。
这是我的第一个"真实"节点项目,我希望它能教会我很多关于node.js开发的知识。我白天是一名.net开发人员,并且已经专业工作了大约15年。我也有过做Java的时期。我创建了一个小node.js项目用作微服务。
但是这个项目不再被归类为微服务; - )
该项目的目的是对一些传感器数据进行采样,并进行一些报告。我在大学里玩PLC的想法。我这样做是通过从PLC采样,并使用ZeroMQ发出数据。然后,我的node.js服务器侦听此传感器数据,并将其存储在MongoDB中。
我在REST api中公开了这些数据。 REST api还公开了批处理等资源以及身份验证等其他资源。最重要的是,我有一个AngularJS应用程序,它创建了UI。
让我烦恼的一件事是,我想全局分配正在运行的批处理。我有一批批次,其中一批是正在运行的批次。我看到有两种方法可以做到这一点,两者都说明了我在node.js世界中的新手状态。所有用户都应该能够看到正在运行的批处理,并且我希望能够轻松地从代码中的任何位置进行分析。
1)在Mongo中的对象上设置一个标志。这有很多问题。表现很明显。我每秒收到10次传感器数据,而且我不想每次都要求数据库保存它的批次。
2)将信息保存在全局对象上。我也不喜欢这样。我的代码中不喜欢全局状态。
做这样的事情的好模式是什么?我的问题有意义吗?
提前致谢