1、RabbitMQ的三大功能(为什么要使用MQ)
1、流量削峰
系统短时间内访问量有限,使用消息队服务器托管网列做缓冲,把一秒内的订单分散成一段时间来处理。
2、应用解耦
3、异步处理
2、rabbitMQ的六大模式
1、简单模式 (生产者发送给队列,队列发送给消费者(一个线程处理))
2、工作模式(生产者发送大量消息给队列,来不及处理,所以用多个工作线程来处理)
3、发布/订阅模式
4、路由模式
5、主题模式
6、发布确认模式
3、rabbitMQ的组件
生产者
broker:接服务器托管网受和分发消息的应用,RabbitMQ Server就是Message Broker
vitual host:当多个不同的用户使用同一个RabbitMQ Server提供服务时,可以划分出多个vhost,每个用户在自己的vhost创建exchange/queue等
connection:就是生产者/消费者和broker之间的TCP连接
channel(信道):channel是connection内部简历的逻辑连接。(就是一个connection连接可以给多对生产者消费者使用,互不干扰)
exchange:交换机
queue:队列
binding:exchange和queue之间的虚拟连接,binding中可以包含routing key,Binding信息被保存到exchange中的查询表中,用于message的分发依据。
4、消息应答
保证消息不消失(消费者消费后给rabbitMQ应答)
1、自动应答(消息发送后立即被认为已经传送成功。不建议使用,因为它不是处理完消息后再确认的)
2、手动应答(可以批量应答multiple,确认多个消息是否成功)
Channel.basicAck(用于肯定确认)
Channel.basicNack(用于否定确认)
Channel.basicReject(用于否定确认) 不处理该消息了,可以直接丢弃.
5、消息重新入队
6、持久化
1、队列持久化
2、消息持久化
3、发布确认(单个发布确认,批量发布确认、异步发布确认)
只有这三个步骤才能保证持久化
7、交换机类型(简单队列中的消息只能被消费一次,通过交换机可以定制消息被多次消费的方式)
1、fanout交换机(发布订阅)
发送消息,所有队列都会收到消息,然后给消费者消费
2、direct交换机
通过选用direct模式,然后指定routingKey去进行分发
3、Topic交换机
匹配路由发送消息
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
服务器性能指什么如何优化 性能最通俗的衡量指标就是“时间”,CPU的使用率指的是CPU用于计算的时间占比,磁盘使用率指的是磁盘操作的时间占比。 当CPU使用率100%时,意味着有部分请求来不及计算,响应时间增加或者超时; 当磁盘使用率100%时,意味着有部分请…