node.js中TCP Socket多进程间的消息推送示例详解(2)

const RedisMQProxy = require('./RedisMQProxy'), PAY_MQ_CHANNEL = 'pay_mq_channel'; // 订阅channel RedisMQ.on(PAY_MQ_CHANNEL, function(message) { console.log('notification received:', message); // 广播消息到指定socket // ... }); // 订阅一次性的channel RedisMQ.once(PAY_MQ_CHANNEL, function(message) { // ... }); // 当接收到支付数据时,推送频道消息 RedisMQ.emit(PAY_MQ_CHANNEL, {id: '01', msg: `hello ${PAY_MQ_CHANNEL}!`});

目前该项目已经健康运行了一个多月。由于socket server的多进程间消息推送依赖于redis的消息中转,而Redis使用的是单进程,未能充分利用CPU。当业务膨胀的时候,redis就要考虑分布集群了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/f1328d682482bab9ea22ad6633503433.html