求问pm2的进程之间通讯
首先,有这个需求,就是会pm2启动2个进程,一个是www,一个是database。 然后,www相当于是逻辑层,database相当于是数据层。 问题来了,www如何操作database进行增删改查? 单机的状态。
6 回复
目测跟pm2 没有半毛钱关系,单纯是两个服务进程间的通信;可以rpc,pub、sub等
@haozxuan rpc pub sub 具体的包名是什么啊?
rpc和包名有什么关系?
为什么要分2个进程?除了复杂度提高,目测不出有何好处?
@klausgao 可以看看这个 axon/https://github.com/tj/axon
@haozxuan @qimenxiaozi @ncuzp 感谢,查了一下,用rpc好像不符合我的需求。 @klesh 因为我数据库是用leveldb,不是mongodb这类型带服务的,而是类似sqlite这样的。而今天出现了一个问题,我在重启pm2后,2个副数据库崩了,就是数据损坏,无法访问了!所以我考虑用某些方法来独立运行leveldb在一个进程,而逻辑业务层通过某种方法来访问数据层,更新的时候,只要pm2重启业务层即可,也可先停止业务层,等一会,再重启数据层,这样数据层的读写应该完成了,就不会那么容易出问题。