服务耦合
我们在开发过程中可能遇到这样的情况:
·进程依赖于某服务,所以把服务耦合在进程代码中;
·服务初始化耗时长,拖慢了进程启动时间;
·服务运行要占用大量内存,多进程的内存损耗严重;
服务抽取
服务形式必须要改变,我们希望这个文本匹配这个服务能做到:
·随调随走,不依赖,不再与"消息处理服务"耦合在预期;
·一次初始化,进城运行期间持续提供服务;
·同步响应,高效而准确,最好能不用各种锁来保持资源占有;
解决办法也很简单,就是把这个文本匹配的服务抽取出来,单独作为一个守护进程来运行,像一个特殊的服务器,多个"消息处理服务"在有需要时能调用此服务进程。
Unix Domain Sockets
进程间通信
进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送数据或信号的一些技术或方法。进程是计算机系统分配资源的最小单位(严格说来是线程)。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。
进程间通信的方式有很多种,下面根据文章的需求来分析一下这些方式:
·管道:管道是Unix最初的IPC形式,但它只能用于具有共同祖先进程的各个进程,无