首页 > 代码库 > 消息中间件
消息中间件
简介: Message MiddleWare 消息中间件是在消息的传递过程中保存消息的容器。 消息中间件再将消息从它的源中继到它的目标时,充当中间人的作用。 消息包括:订单信息等,需要消费者处理的东西 特点: 1)异步处理模式 发送者发送消息而无需等待响应。消息发送者将消息发送到一条虚拟的通道上,消息接受者则订阅或监听该通道。 一条消息可能最终转发给一个或者多个消息接收者,这些消息接收者无需对消息发送者做出同步回应。整个过程是异步的 2)松耦合 发送者和接受者不必了解对方 只需要确认消息 发送者和接受者不必同时在线 消息传递服务模型: 点对点模型PTP:点对点模型用于生产者消费者之间的点到点的通信 队列消息可放在内存中也可以是持久的。 特性:1)只有一个消费者 2)没有时间依赖 3)接受者确认消息和接收处理请求 发布-订阅模型Pub-Sub:TOPIC 订阅者发布者模型支持向一个特定的消息主题生产消息 特性:1)每个消息可以有多个订阅者 2)订阅后才能接收到消息 3)持久订阅和非持久订阅(持久订阅:订阅方重启后,发布方会重新发消息给订阅方,互联网公司常用。比如支付场景,要求强一致性的业务。 非持久订阅:重启后,不会重新发消息,通知消息,一致性要求不高) 4)时间依赖 只有建立订阅关系才能接受消息 5)持久订阅:关系建立后,消息不会消失,不管订阅者是否在线 6)非持久订阅:订阅者为了接受消息,必须一直在线 消息中间件过程: 应用程序A--消息中间件接口--发送队列--通道代理--网络--通道代理--接收队列--消息中间件接口--应用程序B SUB1(订阅-->确认) 缓存 (L2 cache) SUB2 论坛 PUB(用户信息更新) 主题A-->(投递) SUB3 SUB4 热点数据缓存 (L1 cache) 互联网消息中间件应用场景: 1、网站用户注册、用户密码找回 填写注册信息-->用户注册服务-->消息中间件-->邮件服务 -->短信服务 PUB-SUB模式 持久订阅(短信服务:设置30分钟有效时间) 2、把日志进行集中收集,用于计算PV、用户行为分析(消息中间件进行缓冲、收集(监控网络、负载)、存储的角色) 后台进行数据分析(恶意刷单人)。 3、数据复制案例: 4、压测:1)把消息中间件当做可靠的消息暂存地 2)定时消息投递,模拟用户访问,进行系统性能压测 5、消息广播:1)缓存数据同步更新 2)往应用推送数据(发布订阅模式 持久化订阅) 比如更新本地数据: cache 数据变更-->消息中间件 cache cache 分类:
简介:Message MiddleWare消息中间件是在消息的传递过程中保存消息的容器。消息中间件再将消息从它的源中继到它的目标时,充当中间人的作用。
消息包括:订单信息等,需要消费者处理的东西
特点:1)异步处理模式 发送者发送消息而无需等待响应。消息发送者将消息发送到一条虚拟的通道上,消息接受者则订阅或监听该通道。 一条消息可能最终转发给一个或者多个消息接收者,这些消息接收者无需对消息发送者做出同步回应。整个过程是异步的2)松耦合 发送者和接受者不必了解对方 只需要确认消息发送者和接受者不必同时在线
消息传递服务模型:
点对点模型PTP:点对点模型用于生产者消费者之间的点到点的通信 队列消息可放在内存中也可以是持久的。 特性:1)只有一个消费者 2)没有时间依赖 3)接受者确认消息和接收处理请求 发布-订阅模型Pub-Sub:TOPIC 订阅者发布者模型支持向一个特定的消息主题生产消息特性:1)每个消息可以有多个订阅者2)订阅后才能接收到消息3)持久订阅和非持久订阅(持久订阅:订阅方重启后,发布方会重新发消息给订阅方,互联网公司常用。比如支付场景,要求强一致性的业务。 非持久订阅:重启后,不会重新发消息,通知消息,一致性要求不高) 4)时间依赖 只有建立订阅关系才能接受消息 5)持久订阅:关系建立后,消息不会消失,不管订阅者是否在线 6)非持久订阅:订阅者为了接受消息,必须一直在线 消息中间件过程:
应用程序A--消息中间件接口--发送队列--通道代理--网络--通道代理--接收队列--消息中间件接口--应用程序B
SUB1(订阅-->确认) 缓存 (L2 cache) SUB2 论坛 PUB(用户信息更新) 主题A-->(投递) SUB3 SUB4 热点数据缓存(L1 cache) 互联网消息中间件应用场景:1、网站用户注册、用户密码找回 填写注册信息-->用户注册服务-->消息中间件-->邮件服务 -->短信服务 PUB-SUB模式 持久订阅(短信服务:设置30分钟有效时间)2、把日志进行集中收集,用于计算PV、用户行为分析(消息中间件进行缓冲、收集(监控网络、负载)、存储的角色) 后台进行数据分析(恶意刷单人)。3、数据复制案例:4、压测:1)把消息中间件当做可靠的消息暂存地 2)定时消息投递,模拟用户访问,进行系统性能压测5、消息广播:1)缓存数据同步更新 2)往应用推送数据(发布订阅模式 持久化订阅) 比如更新本地数据: cache 数据变更-->消息中间件 cache cache
分类:
消息中间件