消息队列的异步模型
此时就比较清晰了,调用者将消息发送给消息队列直接返回,应用程序收到返回以后继续执行,快读响应用户释放资源。
有专门的消费队列程序从中消息队列取出数据并进行消费。如果远程服务出现故障,只会传递给消费者程序而不会影响到应用程序。
消息队列
消息队列模型中通常有三个角色,分别为生产者,消息队列和消费者。生产者产生数据封装为消息发送给消息队列,专门的消费程序从消息队列中取出数据,消费数据。
在我看来,消息队列主要是缓冲消息,等待消费者消费。其中消费的方式分为两种:
点对点
对生产者多消费者的情况。一个消息被一个消费者消费
多生产消费
上述的发邮件例子就是典型的点对点模式。互不干扰,其中某个服务出现问题不会印象到全局。
订阅模式
开发人员在消息队列中设置主题,生产者往相应的主题发送数据,消费者从对应的主题中消费数据,每个消费者按照自己业务逻辑分别进行计算
订阅模式
这个比较好理解,比如在用户注册的时候,我们将注册信息放入主题用户中,消费者订阅了这个主题,可能有构造短信消息的消费者,也有推广产品的消费者,都可以根据自己业务逻辑进行数据处理。