随笔分类 - MQ
摘要:测试发送Object类型消息 在SpringAMQP的发送方法中,接收消息的类型是Object,也就是说我们可以发送任意对象类型的消息,SpringAMQP会帮我们序列化为字节后发送。 consumer中利用@Bean声明一个队列 @Bean public Queue objectQueue(){
阅读全文
摘要:TopicExchange与DirectExchange类似,区别在于routingKey必须是多个单词的列表,并且以 . 分割。Queue与Exchange指定BindingKey时可以使用通配符:#:代指0个或多个单词*:代指一个单词 TopicExchange的使用 实现思路如下: 在cons
阅读全文
摘要:Direct Exchange 会将接收到的消息根据规则路由到指定的Queue,因此称为路由模式(routes)。 每一个Queue都与Exchange设置一个BindingKey 发布者发送消息时,指定消息的RoutingKey Exchange将消息路由到BindingKey与消息Routing
阅读全文
摘要:实现思路如下:在consumer服务中,利用代码声明队列、交换机,并将两者绑定在consumer服务中,编写两个消费者方法,分别监听fanout.queue1和fanout.queue2在publisher中编写测试方法,向fanout发送消息 在consumer服务声明FanoutExchange
阅读全文
摘要:发布订阅模式:将同一消息发送给多个消费者。实现方式是加入了exchange(交换机) 注意:exchange负责消息路由,而不是存储,路由失败则消息丢失 常见exchange类型包括: Fanout:广播 Direct:路由 Topic:话题
阅读全文
摘要:Work queue,工作队列,可以提高消息处理速度,避免队列消息堆积 模拟WorkQueue,实现一个队列绑定多个消费者 基本思路如下: 在publisher服务中定义测试方法,每秒产生50条消息,发送到simple.queue 在consumer服务中定义两个消息监听者,都监听simple.qu
阅读全文
摘要:SpringAMQP的官方地址:https://spring.io/projects/spring-amqp AMQP:Advanced Message Queuing Protocol,用于在应用程序之间传递业务消息的开放标准,该协议与语言和平台无关,更符合微服务中独立性的要求。 SpringAM
阅读全文
摘要:官方的HelloWorld是基于最基础的消息队列模型来实现的,只包括三个角色: publisher:消息发布者,将消息发送到队列queue queue:消息队列,负责接受并缓存消息 consumer:订阅队列,处理队列中的消息 工程搭建 创建父工程(依赖版本管理、添加子工程共用依赖) 添加依赖(sp
阅读全文
摘要:RabbitMQ安装 官网地址:https://www.rabbitmq.com/ 单机部署 下载镜像 方式一:在线拉取 进入docker hub镜像仓库地址:https://hub.docker.com/ 搜索rabbitMq,进入官方的镜像,可以看到以下几种类型的镜像;我们选择带有“mangem
阅读全文
摘要:同步通讯 同步通讯相当于打电话,两个人建立通话连接后,可以实时获取信息,并且别人无法介入此次通话。 同步调用的问题 微服务间基于Feign的调用就属于同步方式 耦合度高:每次加入新的需求,都要修改原来的代码 性能下降:调用者需要等待服务提供者响应,如果调用链过长则响应时间等于每次调用的时间之和。 资
阅读全文