消息队列
samwulol
这个作者很懒,什么都没留下…
展开
-
rabbitMQ学习笔记(八)——应用场景
MQ的应用场景 1 异步处理 场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种 1.串行的方式 2.并行的方式 串行方式: 将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成后才返回给客户端。 这有一个问题是,邮件,短信并不是必须的,它只是一个通知,而这种做法让客户端等待没有必要等待的东西. 并行方式:将注册信息写入数据库后,发送邮件的同时,发送短信,以上三个任务完成后,返回给客户端,并行的方式能提高处理的时间。 消息队列:假设三个业务节点分别使用50转载 2020-05-11 13:58:10 · 391 阅读 · 0 评论 -
rabbitMQ学习笔记(七)——整合springboot
pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> config类 config类是来完成声明交换机、声明队列、绑定交换机和队列这三个步骤的。代码如下: @Configuration public class原创 2020-05-10 21:36:57 · 337 阅读 · 0 评论 -
rabbitMQ学习笔记(六)——RPC
介绍 RPC是服务远程调用的一种,另一种是基于Restful的服务调用,常见的有Ribbon,OpenFeign。这两种是分布式微服务中微服务常用的通信手段。RPC的原理如下图所示: 区别于之前小节有明确的生产者和消费者,RPC的两端既充当生产者又充当消费者,那么我们应该用其他的方式来区别这两端。发起服务调用的一方称为客户端Client,而被调用的一方称为服务端Server。 整套流程描述如下: step1:客户端先作为生产者,发起服务调用,发送消息给作为消费者的服务端。 step2:服务端接收到客户端原创 2020-05-09 22:57:54 · 207 阅读 · 0 评论 -
rabbitMQ学习笔记(五)——通配符模式
Topics和Routing的基本原理相同,即:生产者将消息发给交换机,交换机根据routingKey将消息转发给与routingKey匹配的队列。 不同之处是: routingKey的匹配方式, Routing模式是相等匹配, topics模式是统配符匹配。 符号# :匹配一个或者多个词(每个词中间以.分隔),比如inform. # 可以匹配inform.sms、inform.email、inform.email.sms。 符号* :只能匹配一一个词, 比如inform.* 可以匹配inform.sm.原创 2020-05-09 22:32:03 · 894 阅读 · 1 评论 -
rabbitMQ学习笔记(四)——路由模式
介绍 直接上图: 由图可知,路由模式本质上就是发布订阅模式的进阶版。具体而言,就是队列在绑定交换机时可指定一个或者多个RoutingKey。例如:指定了一个叫error的routingkey,那么该消息队列就打上一个标记,当发送消息指定了routingkey为error时,标记位error的队列就会接受消息。 生产者 同样的,生产者代码与上节区别不大,在这里有三点需要更改: 1、声明交换机时,将模式更改为direct。 2、绑定队列需要指定routingkey 3、发送消息需要指定routingke原创 2020-05-09 16:01:10 · 107 阅读 · 0 评论 -
rabbitMQ学习笔记(三)——发布订阅模式
介绍 首先来段官方文档 In the previous tutorial we created a work queue. The assumption behind a work queue is that each task is delivered to exactly one worker. In this part we’ll do something completely different – we’ll deliver a message to multiple consumers. T原创 2020-05-09 15:19:34 · 159 阅读 · 0 评论 -
rabbitMQ学习笔记(二)——工作队列
工作队列更具官网介绍,就是一个生产者,一个队列,多个消费者的情形。模型如下: 其实就是上一节讲到的,只需要启动多个消费者即可。这里内容分发的算法是轮询,即每个消费者轮流获取消息队列中的消息。 ...原创 2020-05-09 14:10:22 · 85 阅读 · 0 评论 -
rabbitMQ学习笔记(一)——Hello,World!
介绍 rabbitMQ是基于AMQP协议的消息队列,erlang语言实现。引用官网如下: RabbitMQ is a message broker: it accepts and forwards messages. You can think about it as a post office: when you put the mail that you want posting in a post box, you can be sure that Mr. or Ms. Mailperson wi原创 2020-05-09 14:01:24 · 104 阅读 · 0 评论