RabbitMQ的介绍
一、前言
中间件技术一般
用于分布式项目中,因为从单体项目演变为分布式项目就会产生沟通协同的问题,这样就会采用中间件技术去解决和屏蔽系统之间的复杂性和让我们的项目之间变得更加灵活,因为这些中间件都遵守一些由TCP/IP或者UDP协议
演变的协议,所以中间件又可以支持多种语言,这就是中间件的作用。
早期的单体项目
演变成分布式架构
特点
通俗一点:就是一个请求由服务器端的多个服务(服务或者系统)协同处理完成,原来是一个JVM完成,现在是多个。
和单体架构不同的是,单体架构是一个 清求发起jvm调度线程(确切的是tomcat线程池)分配线程Thread来处理请求直
到释放,而分布式是系统是: -个请求 是由多个系统共同来协同完成,jvm和环境都可能是独立。如果生活中的比喻的
话,单体架构就想建设一个小房 子很快就能够搞定,如果你要建设一个鸟巢或者 大型的建筑,你就必须是各个环节的协
同和分布,这样目的也是项目发展都后期的时候要去部署和思考的问题。我们也不能看出来: 分布式架构系统存在的特
点和问题如下:
从上图可以看出,消息的中间件是
1.利用可靠的消息传递机制进行系统和系统之间的直接通讯 。
2.通过提供消息传递和消息的排队机制,他可以在分布式系统环境下扩展进程间的通讯。
- 跨系统的数据传递
- 高并发的流量削峰
- 数据的分发和异步处理
- 大数据分析和传递
- 分布式事务
MQ消息队列:负责数据的接受、传递和存储,所以性能要高于普通的服务和技术。
- 消息的协议
- 消息的持久化机制
- 消息的分发策略
- 消息的高可能、高可靠
- 消息的容错机制