我正在编写一个服务器端应用程序,它将管理来自:
的请求截至目前,我只对每种类型的请求使用一个(NodeJS)应用程序,问题是随着用户群的增长,这种方法将产生瓶颈。
我想就如何开发服务器端架构提出一些建议,以便它可以扩展。
我所知道的唯一解决方案是使用运行相同应用程序的多台服务器,这些服务器将共享相同的内存(Redis服务器)。
nodeJS是否可以将这些类型的请求的管理拆分为多个服务器?每种类型的请求可能有一个或多个服务器吗?
目前我正在使用:
先谢谢,你能推荐一些关于此事的书吗?
答案 0 :(得分:1)
在一台处理多核架构功能的机器上,您可以使用node.js Cluster
模块(https://nodejs.org/api/cluster.html)。
我认为在不同的应用程序上拆分API和网站是个好主意。如果您决定在一台计算机上运行多个node.js应用程序,请尝试使用pm2
(http://pm2.keymetrics.io/)。您可以将API拆分为一堆小应用程序 - 称为微服务架构。我个人不喜欢微服务方法,你可以查看网页的优缺点。
此外,如果您将应用程序(或一堆应用程序)部署在不同的虚拟/ phisycal计算机上(通常在生产中),您可以使用haproxy
进行平衡和
容错(http://www.haproxy.org/)。