RabbitMQ
文章平均质量分 85
灵动的艺术
知其然亦知其所以然!
展开
-
精通RabbitMQ之AMQP杂谈
精通RabbitMQ之AMQP杂谈何为AMQPAMQP能够做什么应用解耦(异步)异步处理同步调用顺序调度通知分发高并发缓冲并发限流延时任务调度失败重试何为AMQPAMQP,即Advanced Message Queuing Protocol(高级消息队列协议),它的定义使得符合要求的客户端应用(application)和消息中间件代理(messaging middleware broker)之...原创 2018-12-23 10:44:06 · 452 阅读 · 0 评论 -
精通RabbitMQ之初识RabbitMQ
精通RabbitMQ之初识RabbitMQRabbitMQAMQP模型AMQP协议层角色相关的概念消息中间件相关的概念RabbitMQ我们知道AMQP(高级消息队列协议) 是一个用于在分布式系统中存储转发消息进行通信网络协议。而RabbitMQ是实现AMQP协议的消息中间件的一种(主要用于应用程序的异步通信和解偶,消息的发送者无需关心消息使用者,反之亦然。),RabbitMQ的服务器端用Erl...原创 2018-12-23 11:10:20 · 606 阅读 · 0 评论 -
精通RabbitMQ之安装RabbitMQ
精通RabbitMQ之安装RabbitMQ安装说明选择版本Centos下安装Erlang安装RabbitMQ安装启动rabbitmq开启管理虚拟主机(vhost)与用户管理登录管理控制台安装说明前面我们说过,RabbitMQ的服务端是使用Erlang语言编写的,所以我们需要首先安装Erlang。并且我们需要注意Erlang和RabbitMq版本需要一致,否则会因为版本不匹配而安装失败。选择版...原创 2018-12-23 12:05:10 · 347 阅读 · 0 评论 -
精通RabbitMQ之消息确认回执和拒绝
精通RabbitMQ之消息确认回执和拒绝消费消息确认显式确认模式确认消息API拒绝消息API发送消息确认事务confirm消费消息确认从安全角度考虑,网络是不可靠的,消费者是有可能在处理消息的时候失败。而我们总是希望我们的消息不能因为处理失败而丢失,基于此原因,rabbitmq提供了一个消息确认(message acknowledgements) 的概念:当一个消息从队列中投递给消费者(con...原创 2018-12-23 12:16:38 · 5945 阅读 · 2 评论 -
精通RabbitMQ之Exchange和路由分发
精通RabbitMQ之Exchange和路由分发交换机默认交换机直连交换机广播交换机主题交换机头交换机交换机交换机的责任主要在于路由分发生产者的消息到队列中,一个Exchange可以binding多个Queue,一个Queue可以同多个Exchange进行binding。默认交换机前面我们聊过,我们在简单的使用过程中甚至可以不声明交换机,但这并不意味者rabbitmq可以没有exchang...原创 2018-12-23 12:27:38 · 840 阅读 · 0 评论 -
精通RabbitMQ之RPC同步调用
精通RabbitMQ之RPC同步调用前面我们对应用解耦做过分析,我们能够使用消息中间件来完成应用解耦,很大一部分原因是因为我们的系统之间可以异步处理并且不关心结果回执。假如我们现在需要异步处理的结果,我们还可以使用消息队列吗?实际上Rabbitmq是支持Remote procedure call (RPC)同步调用的。RabbitMQ RPC同步调用实际上是使用了两个异步调用完成的,生产者投递...原创 2018-12-23 12:33:31 · 3466 阅读 · 1 评论 -
精通RabbitMQ之死信队列与延迟任务调度
精通RabbitMQ之死信队列与延迟任务调度死信队列死信队列实现延迟任务application.ymlAMQPConfig.java消息发送到设置过期事件的队列消费死信队列中的延迟之后的消息死信队列在某些情况下,例如当一个消息无法被成功路由时,消息或许会被返回给生产者并被丢弃;或者如果我们为消息设置了有效期,延期后消息会被放入一个所谓的死信队列中。此时,消息生产者可以选择配置死信队列参数来处理...原创 2018-12-23 12:54:34 · 1650 阅读 · 0 评论