首页 > 代码库 > 消息中间件

消息中间件

简介:
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

分类:

消息中间件