文章大纲
- 简介
- 数据库 作为消息中间件是否能满足性能要求?
- 参考文献与学习路径
简介
从通信目的的角度来看,我们可以把进程之间的通信分成 3 种:
- 进程调度: 可以通过信号来实现;
- 共享资源:可以通过互斥锁、信号量、读写锁、文件锁等来实现;
- 传递数据:可以通过共享内存、命名管道、消息队列、Socket来实现。
如果把进程理解为软件系统,那么我们同样很好理解为了通信产生的消息队列,消息中间件。
消息中间件产生背景
在客户端与服务器进行通讯时.客户端调用后,必须等待服务对象完成处理返回结果才能继续执行。
这样会引发很多的问题:
- 客户与服务器对象的生命周期紧密耦合,客户进程和服务对象进程都都必须正常运行;
- 如果由于服务对象崩溃或者网络故障导致用户的请求不可达,客户会受到异常。
为了解决这样的问题,消息中间件技术应运而生。
面向消息的中间件(MessageOrlented MiddlewareMOM)较好的解决了以上问题。发送者将消息发送给消息服务器