随笔分类 - RabbitMQ
SpringAMQP消息转换器
摘要:之前说过,Spring会把你发送的消息序列化为字节发送给MQ,接收消息的时候,还会把字节反序列化为Java对象。 只不过,默认情况下Spring采用的序列化方式是JDK序列化。众所周知,JDK序列化存在下列问题: 数据体积过大 有安全漏洞 可读性差 我们来测试一下。 1.测试默认转换器 我们修改消息
阅读全文
SpringAMQP TopicExchange实现发布/订阅
摘要:Topic类型的Exchange与Direct相比,都是可以根据RoutingKey把消息路由到不同的队列。只不过Topic类型Exchange可以让队列在绑定Routing key 的时候使用通配符! Routingkey 一般都是有一个或多个单词组成,多个单词之间以”.”分割,例如: item.
阅读全文
SpringAMQP DirectExchange实现发布/订阅
摘要:在Fanout模式中,一条消息,会被所有订阅的队列都消费。但是,在某些场景下,我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange。 在Direct模型下: 队列与交换机的绑定,不能是任意绑定了,而是要指定一个RoutingKey(路由key) 消息的发送方在 向 Ex
阅读全文
SpringAMQP FanoutExchange实现发布/订阅
摘要:发布订阅的模型如图: 可以看到,在订阅模型中,多了一个exchange角色,而且过程略有变化: Publisher:生产者,也就是要发送消息的程序,但是不再发送到队列中,而是发给X(交换机) Exchange:交换机,图中的X。一方面,接收生产者发送的消息。另一方面,知道如何处理消息,例如递交给某个
阅读全文
SpringAMQP Work Queue消息发送和接收
摘要:Work queues,也被称为(Task queues),任务模型。简单来说就是让多个消费者绑定到一个队列,共同消费队列中的消息。 当消息处理比较耗时的时候,可能生产消息的速度会远远大于消息的消费速度。长此以往,消息就会堆积越来越多,无法及时处理。 此时就可以使用work 模型,多个消费者共同处理
阅读全文
SpringAMQP Basic Queue消息发送和接收
摘要:SpringAMQP是基于RabbitMQ封装的一套模板,并且还利用SpringBoot对其实现了自动装配,使用起来非常方便。 SpringAmqp的官方地址:https://spring.io/projects/spring-amqp SpringAMQP提供了三个功能: 自动声明队列、交换机及其
阅读全文
RabbitMQ消息发送和接收
摘要:简单队列模式的模型图: 官方的HelloWorld是基于最基础的消息队列模型来实现的,只包括三个角色: publisher:消息发布者,将消息发送到队列queue queue:消息队列,负责接受并缓存消息 consumer:订阅队列,处理队列中的消息 1.publisher实现 思路: 建立连接 创
阅读全文
Docker 安装RabbitMQ
摘要:1.在线拉取RabbitMQ镜像 docker pull rabbitmq:3-management 2.安装mq 执行下面的命令来运行MQ容器: #创建运行容器 docker run \ #环境变量(用户名和密码) -e RABBITMQ_DEFAULT_USER=mymq \ -e RABBIT
阅读全文
浙公网安备 33010602011771号