[发明专利]用于消息服务的处理方法、装置及系统、消息服务系统在审
申请号: | 201410032412.3 | 申请日: | 2014-01-23 |
公开(公告)号: | CN104811459A | 公开(公告)日: | 2015-07-29 |
发明(设计)人: | 吴峥涛;常磊 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京市清华源律师事务所 11441 | 代理人: | 沈泳;李赞坚 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 消息 服务 处理 方法 装置 系统 | ||
技术领域
本申请涉及消息服务技术领域,具体涉及一种用于消息发布的消息处理方法、一种用于消息订阅的消息处理方法及其装置。本申请同时涉及一种用于消息发布的消息管理方法、一种用于消息订阅的消息管理方法及其系统,一种消息服务系统。
背景技术
在云计算的迅猛发展下,越来越多的分布式应用构建和部署在云环境下,这些分布式应用绝大多数采用基于消息系统的架构。在传统的消息服务系统中,消息队列中间件是系统的核心组件,其通常承担两个核心功能:分别是连接管理和消息管理。即不但要承担对消息接收发送的连接管理功能,还要承担对接收或发送的消息管理功能。然而,上述功能划分的消息中间件,在海量连接压力下服务器就有被压垮的可能,此时消息中间件消息管理功能也会受到影响。
为了支撑海量连接,不得不依赖于增加更多的消息队列服务器,尽管有些时候大量连接的负载可能并不高(大量的连接可能仅仅需要保持,其传输的数据量可能并不大)。同样地,大量的消息需要管理时也会影响服务器的性能,导致新连接的无法建立。因此,传统的消息服务系统存在功能相互耦合、成本过高、资源浪费的问题。
为了解决消息服务系统功能耦合,成本过高的问题,业内针对它采用了以下优化方案:借鉴“读写分离”的思想,将发送消息和接收消息这两类功能分离(或者分成生产者、消费者两个角色),使他们落到消息队列集群的不同服务器。
发送消息这类功能的特点:它通常是短连接,即发起到消息队列服务器的连接,发送消息,关闭连接。接收消息这类功能的特点:它是长连接,即发起并保持到消息队列服务器的连接,当服务器端接收到消息后,投递消息给该连接,由该连接去消费和处理消息。
将发送消息和接收消息这两类功能分离到不同的服务器上,实际上是将短连接和长连接分离到不同的服务器上,通过这样的分离,在需要时可以分别增加服务器,这样就可以节省一些物理资源。
将发送消息和接收消息这两类功能分离到不同的服务器上实际上是治标不治本的方案,若压力持续增大时,仍然需要增加更多的服务器来应对压力,并没能真正解决功能耦合,成本高的问题。
申请内容
本申请提供一种用于消息发布和订阅的消息处理方法及其装置,以及一种用于消息发布和订阅的消息管理方法及其装置,以解决现有的消息服务系统及方法的上述的问题。本申请另外提供一种用于消息服务的系统及一种消息服务系统。
本申请提供的一种用于消息发布的消息处理方法,包括:
接收客户端发布的消息;
建立与消息管理服务器的连接,将所述客户端发布的消息转发到消息管理服务器;
在消息管理服务器处理后向客户端发送发布成功的响应。
可选的,所述接收客户端发布的消息之前,建立与客户端之间的连接。
可选的,所述建立与所述客户端之间的连接包括:
接收客户端以TCP协议发起的连接请求,
向客户端回应所述连接请求,并要求客户端确认;
接收客户端返回的确认,建立与客户端的连接。
可选的,所述连接为基于超文本协议的短连接。
可选的,所述建立与消息管理服务器的连接,将客户端发布的消息转发到消息管理服务器包括:
建立与消息管理服务器的连接,并基于该连接建立虚拟通信通道;
将消息通过所述虚拟通信通道发布到所述消息管理服务器。
可选的,所述建立与消息管理服务器的连接,并基于该连接建立虚拟通信通道包括:
由预先建立的与消息管理服务器之间连接的连接池中选择任意一个连接;
在所选择的连接中选择一个基于该连接的虚拟通信通道。
可选的,所述与消息管理服务器之间连接为长连接。
可选的,所述接收客户端发布的消息具体是指在多个接收端构成接收端集群中择一接收客户端发布的消息;
所述建立与客户端之间的连接具体包括:
通过负载均衡算法获得接收端集群中各个接收端的负载状况和健康状况;
根据所述负载状况和健康状况依据压力均负原则建立相应接收端与客户端的连接。
可选的,所述在消息管理服务器处理后向客户端发送发布成功的响应包括:
接收消息管理服务器发送的消息已存储的响应消息;
收到所述响应消息后向客户端发送发布成功的响应。
此外,本申请还提供一种用于消息订阅的消息处理方法,包括:
接收客户端发出的订阅消息的请求,建立与客户端之间的连接;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410032412.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:云媒体资源分配的方法及装置
- 下一篇:一种安全的云端控制方法