中间件ITJMS

消息中间件

2019-05-24  本文已影响76人  JunChow520

什么是消息中间件?

消息中间件的目的是提供路由并保证消息的传递,如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它为止,当然消息队列保存消息也是有期限的。

消息中间件 Broker

消息中间件有什么特点呢?

消息发送者发送一个消息而无需等待响应,消息发送者将消息发送到一条虚拟的通道(主题或队列)上,消息接收者订阅或监听通道。一条消息可能最终转发给一个或多个消息接收者,这些接收者都无需对消息发送者做出同步回应,整个过程是异步的。

例如:用户信息注册,注册完毕后发送邮件和短信。

应用程序之间调用关系为松耦合

例如:在线交易系统为了保证数据的最终一致(一致性),在支付系统处理完毕后会把支付结果放到消息中间件中通知订单系统修改订单支付状态。两个系统通过消息中间件解耦。

消息传递服务模型

消息传递服务模型 消息传递服务模型

消息中间件英文全称为Message Oriented Middleware,简称为MOM。

Message-oriented middleware(MOM)is software or hardware infrastructure supporting sending and receiving messages between distributed systems.

消息中间件是在分布式系统间支持收发消息的软件或硬件

消息中间件

消息中间件的传递模型

  1. 点对点模型(PTP, Point To Point)
点对点模型

点对点模型特性

点对点模型
  1. 发布订阅模型(Pub/Sub)
订阅 发布订阅模型

发布订阅模型特性

发布订阅模型

发布订阅模型特点

互联网消息中间件应用场景

  1. 用户注册,注册成功后过一会儿发送邮件确认或短信确认。(发布订阅模式)
用户注册

SOA(Service-oriented Architecture)面向服务的架构,是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和锲约联系起来。

SOA
  1. 日志分析,将日志进行集中收集,用于计算PV、用户行为分析...
日志分析

MVP(Minimum Variable Product)最小可行产品,小流量实验 AV-Test,通过Nginx分流,需要集中收集日志。

  1. 数据复制
数据复制

数据复制需要做到两点

  1. 延迟消息发送和暂存(点对点模式)
延迟消息发送和暂存

TCPcopy是一种请求复制的工具,基于TCP的packages,其功能时候复制在线数据包,修改TCP/IP头部信息,发送给测试服务器,达到欺骗测试服务器的TCP程序的目的,从而为欺骗上层应用打下坚实基础。

  1. 消息广播(发布订阅模式)
消息广播

利用分布式租约(Lease)机制的方式保证数据的一致性,通过添加时间戳的方式保证数据一致。

消息中间件分类

推拉模型对比

  1. 服务端
  1. 客户端
  1. 实时性
  1. 消费者故障
  1. 其他

应用场景

未完待续...

上一篇下一篇

猜你喜欢

热点阅读