消息

消息服务器解决的问题

  1.性能问题,把一些与主业务无关(不需要即可执行完成)的功能通过消息的方式执行可以大大缩短主业务响应时间:在执行主业务的时候只需要将这些业相关的数据保存到消息队列,等待专门的服务从队列中获取执行即可。

  2.模块解耦,微服务,模块只负责自己模块相关的业务,其他下游单据生成之类的功能直接丢给消息服务器,由下游服务读取执行。

  3.秒杀:设置消息服务队列数量上限达到限量的效果,用户端只需要将相关数据丢入消息服务器即可(类似第一点),后续具体秒杀业务执行由下游服务读取消息队列执行,这样可以大大缩短秒杀响应时间。        

消息服务抽象

  JMS 

    点对点,一个消息发送至唯一的消息接收者,业务只被执行一次。

    发布订阅,一个消息可以被多个订阅,多个接受者处理同一个消息。

  AMQP

    高级消息队列协议,跨平台的消息规范,细化了发布订阅模式。

AMQP 消息抽象

  Exchanges 交换器,用于路由消息

  Queues 消息队列,消息载体,存储和读取消息源

  connections 连接

  channels 信道

发送一条消息:指定一个交换器,指定一个key,由交换器根据key,根据交换器类型以及绑定规则路由到具体的队列

获取一条消息:直接从指定消息队列获取

posted @ 2018-10-18 17:46  Az.Rookie  阅读(129)  评论(0编辑  收藏  举报