我正在使用Node.js实现一个Websocket客户端,用于订阅来自多个Websocket服务器的数据源。
foo = new WebSocket('ws://foo.host ...')
bar = new WebSocket('ws://barhost ...')
baz = new WebSocket('ws://baz.host ...')
qux = new WebSocket('ws://qux.host ...')
foo.on('data', data => doSomething(data)) // 5 events per second
bar.on('data', data => doSomething(data)) // 1 events per second
baz.on('data', data => doSomething(data)) // 1 events per second
qux.on('data', data => doSomething(data)) // 1 events per second
问题:如果我们有一个多核系统(例如4个核心),是否可以使用Node.js集群来平衡处理传入Websocket数据的负载,以便每个核心大约接收2个事件每秒要处理?
还是最好手动启动8个Node.js实例,并传递一个参数[foo | bar | baz | qux]来选择它将连接到的Websocket服务器?