【发布时间】:2014-09-13 16:14:56
【问题描述】:
我正在从事一个小型的业余爱好项目,我真的很想得到一些意见和建议。
这是我第一个“真正的”node 项目,我希望它能教会我很多关于 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) 保存全局对象的信息。我也真的不喜欢这个。我不喜欢代码中的全局状态。
什么是做这种事情的好模式?我的问题有意义吗?
提前致谢
【问题讨论】:
-
太宽泛了。请返回具体问题,并且请仅标记您正在解决的架构的点。老实说,您可能会在programmers.stackexchange.com/ 上发现更多的“闲聊”设计概念,可以容忍更多的聊天。或者您也可以在这里提出具体问题。
-
嗯,也许你是对的......当我想到它时,我最感兴趣的是如何处理全局对象。将尝试完善问题。
标签: node.js angularjs mongodb design-patterns global