如何解决Java多线程和Nodejs集群?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (221)

可以使用NodeJS集群运行多个进程,而Java中的等价物是多线程,有一个HTTP侦听器运行在NodeJS上(没有集群),使用Java调用这个NodeJS http(使用java.lang.Thread类)

如果同时有300个请求,它会创建多个NodeJS实例吗?NodeJS会成为瓶颈吗?

提问于
用户回答回答于

即使nodejs是单线程的,异步操作也会在单独的线程中运行,这要归功于事件循环建筑

如果我同时有300个请求,它会创建多个NodeJS实例吗?

否,除非您正在运行节点集群,否则只有单个节点进程(和线程)将处理请求。

NodeJS会成为瓶颈吗?

如果大部分工作是异步的,那么它将能够并行地执行这些任务,而不应该成为瓶颈。此外,还可以通过为CPU中的每个可用核心创建一个节点进程和/或通过在多个计算机实例中部署该进程来扩展应用程序。

用户回答回答于

NodeJS是单线程意味着,无论发出多少个http调用,都会排队并处理它们。如果在几秒钟内用数百个呼叫过载NodeJS,将有更长的响应时间。

扫码关注云+社区

领取腾讯云代金券