一般我们在开发环境下,node都只跑在单线程下。可一般情况下当我们部署在生产环境中的时候,都会启动cpu核数量的子进程。 可这些子进程间的内存是不可直接互相访问的。 那么问题来了,比如: 我要做一个聊天室。 1.在单进程的情况下,只需要维护一个所有用户连接的list,用户发送消息时,向list内的所用连接推送消息即可。 2.可当我们启用多个子进程时,每个子进程都会有一个保存连接到当前进程的用户的连接list。 如果这时用单进程同样的方法进行推送,那只会推送给部分用户而不是所有用户。 这时候就需要子进程间的通信,使每个子进程也推送一次消息。
↑↑不知道以上我说的是否都对。。。
我的问题是: 是不是只要打算在多子进程下运行,并且存在需要共用的变量(如保存所有连接的List)时,都需要实现子进程间通信的功能?