介绍RabbitMQ的就像一个邮局,的工作流程
介绍了几个名词和及其在以后的图形表示
介绍了一个简单的消息发送和接受的类的过程和及其依赖的Jar
(一个生产者,一个消费者)
|
Work QueuesRound-robin dispatching修改一种的Demo,启动多个消费者,查看queue的消息默认的循环分发机制Message acknowledgment当一个消费者处理消息时突然挂了,那么这部分已经从队列发出的消息,和没有处理完的消息就会丢失,这里使用ack来回执缺认后再将消息从队列中删除,来保证消息消费过程的不丢失 这里要关闭自动确认机制. channel.basicAck(envelope.getDeliveryTag(),false); Message durability 消息持久化队列的持久化和消息的持久化定义队列时候就加入属性 发送消息时设置持久化属性 保证当rabbitMq宕机时消息也不会丢失,重新启动后从磁盘中获取消息给消费者 这里还有一个问题就是当消息从生产者到队列的过程中,可能会存在消息的丢失, 或者,到达队列后仅仅是存在缓存中,机器宕机也会将消息丢失,这时需要进行发送确认 publisher confirms. Fair dispatch 公平分发设置让一个队列不是一直工作,而另外一个队列一直清闲.使用分发机制 intprefetchCount=1;channel.basicQos(prefetchCount); |