RabbitMQ是一款比较老牌的消息队列中间件,老大说以后项目组可能要经常用到这个,所以没事就先学习了解一下。
公司项目之前一直使用的webservice,现在业务不断扩展,使用webservice开发量较大,而且不好维护。
先説一下消息中间件产生的原因
1、网络通讯中,Http请求默认采用同步请求方式,基于请求和响应模式;
2、在客户端与服务器通讯时,客户端调用服务端接口后,必须等待服务端完成处理后返回结果给客户端才能继续执行,这种情况属于同步调用方式;
3、如果服务器端发生网络延迟、不可达情况,可能客户端也会受到影响。
而消息队列中间件是分布式系统中重要的组件,主要解决应用解耦合、异步消息、流量削峰问题,实现高性能、高可用、可伸缩和最终一致的架构。
RabbitMQ 是一个由 Erlang 语言开发的 AMQP协议 的开源实现,所以对高并发的支持性特别好。