Javascript nodej在后台工作

Javascript nodej在后台工作,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我在NodeJS中有两个要求,因为我来自C/C++嵌入式系统,所以我无法决定最好的方法(我已经尝试过Promise/Mongoose/Async等,现在在NodeJS中比较舒服) 假设有100000个客户端与我的NodeJS应用程序交互。假设我想监控心跳(每个客户端应该在每10分钟后发送一个小信息说我还活着,如果我在10分钟后没有收到来自特定客户端的心跳,那么我应该采取一些措施,例如向该客户端发送电子邮件)。如何以一种完美的/教科书式的最佳推荐方式(可扩展)做到这一点。我不认为为100000个客

我在NodeJS中有两个要求,因为我来自C/C++嵌入式系统,所以我无法决定最好的方法(我已经尝试过Promise/Mongoose/Async等,现在在NodeJS中比较舒服)

  • 假设有100000个客户端与我的NodeJS应用程序交互。假设我想监控心跳(每个客户端应该在每10分钟后发送一个小信息说我还活着,如果我在10分钟后没有收到来自特定客户端的心跳,那么我应该采取一些措施,例如向该客户端发送电子邮件)。如何以一种完美的/教科书式的最佳推荐方式(可扩展)做到这一点。我不认为为100000个客户提供100000个线程是一个好的选择。必须有一些好的设计来解决NodeJS中的这个问题

  • 如果我必须发送短信/电子邮件和推送通知(例如在不同的情况下),请说您的车辆中有入侵警报,同时说另一辆车辆已触发ECALL等(所有这些都是并行的)。我想把发送电子邮件/短信/推送的责任委托给一些员工。主应用程序只需将发送电子邮件/短信/推送(带有数据/地址等)的工作推送给该工作人员(在情况出现时将继续将这些细节推送给工作人员),工作人员将处理实际发送短信/电子邮件/推送的工作(以及相关的重试策略)。多辆车可能同时出现多个场景(一辆车发出ECALL,另一辆车发出入侵警报,因此使用不同的内容和地址发送不同的电子邮件/短信/推送)


  • 如何在教科书推荐的NodeJS方法中处理这两项工作,而不牺牲可伸缩性,并且以优雅的方式处理

    socket.io怎么样?这个问题没有“教科书式”的解决方案。这是一个非常广泛的话题,有许多可能的处理方法。你必须做一些研究,决定什么最适合你。我要说的是,如果您希望有100000个并发连接,则需要多个服务器来分配负载。@Rayon Socket.io只提供一个WebSockets连接,通常在服务器和客户端之间。我看不出这是如何解决OPs问题的。是的,要在客户端和服务器之间进行通信。。。就
    负载
    而言,可以根据并发请求的数量引入某种类型的
    负载平衡器
    ,它将根据需要扩展硬件…@AbhishekDhar如我所说,人们通过大量教育来提出智能设计是一个非常广泛的话题。这个问题的答案太宽泛了,
    socket.io
    ?这个问题没有“教科书式”的解决方案。这是一个非常广泛的话题,有许多可能的处理方法。你必须做一些研究,决定什么最适合你。我要说的是,如果您希望有100000个并发连接,则需要多个服务器来分配负载。@Rayon Socket.io只提供一个WebSockets连接,通常在服务器和客户端之间。我看不出这是如何解决OPs问题的。是的,要在客户端和服务器之间进行通信。。。就
    负载
    而言,可以根据并发请求的数量引入某种类型的
    负载平衡器
    ,它将根据需要扩展硬件…@AbhishekDhar如我所说,人们通过大量教育来提出智能设计是一个非常广泛的话题。这个问题的答案将过于宽泛和复杂