一种基于服务器集群的消息推送方法与流程

文档序号:17482135发布日期:2019-04-20 06:31阅读:342来源:国知局
一种基于服务器集群的消息推送方法与流程

本发明属于通信技术领域,特别涉及一种基于服务器集群的消息推送方法。



背景技术:

在基础设施即服务平台中,存在对基础资源的大量操作和应用场景,客户通过可视化平台对基础资源进行操作发起响应的请求,业务系统接收到请求后传递给计算服务器,需要同步返回请求的结果。但是计算服务器耗时操作无法做到同步返回操作结果,这就要求业务员服务器端需要实时获取计算服务器资源状态详情和结果返回,同时考虑到时效和业务需求等问题,将结果封装为响应的消息提示异步推送到客户端,分别为系统客户展示请求结果和资源变化的消息提示。

而传统的服务器与客户端消息推送方式为,定期轮询、长轮询和流。这些方法很明显的存在着一些弊端,包括:

1、延时较高;

2、长轮询或流需要使用到一些特定的编程模型或方案,如comet;

3、会带来许多扩展性问题并且需要较高的带宽成本和系统资源开销等等。



技术实现要素:

本发明提供一种基于服务器集群的消息推送方法,目的在于解决现有的客户端消息推送方式的弊端。本发明要解决的技术问题体现在:

针对传统消息推送技术的不足,提供一种能避免浪费带宽和服务器资源的基于websocket和消息队列的消息异步推送系统及方法;提高消息推送的安全性高,降低服务器的负载还是网络带宽的成本,支持跨域连接等。解决集群环境中,消息推送可能存在消息格式不统一、不及时、甚至丢失的情况。

本发明实施例之一,一种基于服务器集群的消息推送方法,该方法包括如下步骤:

步骤1,采用服务器集群方式部署应用系统,客户端与服务端保持双向绑定,两者之间数据直接互相传送;

步骤2,客户端操作资源,发送请求到nginx(web服务器),nginx将请求转发至业务服务器集群;

步骤3,业务服务器集群将请求结果同步返回给客户端,同时向计算服务器集群请求执行资源操作;

步骤4,计算服务器集群将处理结果推送到消息队列;

步骤5,业务服务器监听消息,并解析消息源,将解析结果异步推送给客户端。

websocket协议是html5提供的一种浏览器与服务器之间进行双向通信的技术。通过一次简单的握手操作之后,服务器和客户端建立起双向通信。

本发明的方法是基于websocket的同时,并且针对基础设施即服务平台的业务使用场景,结合消息中间件而在服务器集群环境下提升系统性能的同时,在服务器集群场景下实现了高效、实时、准确的消息异步推送。

由于采用了上述技术方案,本发明的有益效果包括:

1)支持服务器集群的消息统一的发送,保证消息发送的准确性和稳定性;

2)提高集群系统下消息发送的效率,降低系统负载、减少网络成本、优化用户体验。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

图1本发明实施例中消息推送流程示意图。

具体实施方式

根据一个或者多个实施例,如图1所示,一种基于服务器集群的消息推送方法包括如下步骤:

步骤1,采用服务器集群方式部署应用系统,客户端与服务端保持双向绑定,两者之间数据直接互相传送。该步骤进一步包括:

当客户端登录,发送一次握手的请求,通过nginx(web服务器)转发到业务集群服务器,业务服务器中的websocket操作类会根据访问的域以及请求路径注册一个handler,通过收集数据,进行任务分发,这里,nginx(enginex)是一个高性能的http和反向代理服务,也是一个imap/pop3/smtp服务,本实施例中作为web服务器;

在注册handler之前,根据注册用户信息,绑定websocketsession,之后一旦有数据可以主动并精准推送给指定的客户端;

步骤2,客户端操作资源,发送请求到nginx(web服务器),nginx将请求转发至业务服务器集群;

步骤3,业务服务器集群将请求结果同步返回给客户端,同时向计算服务器集群请求执行资源操作;

步骤4,计算服务器集群将处理结果推送到消息队列;

步骤5,业务服务器监听消息,并解析消息源,将解析结果异步推送给客户端。

根据一个或者多个实施例,如图1所示,一种消息推送系统,该系统包括业务服务器集群、计算服务器集群、客户端,

客户端通过建立websocket连接发送请求至业务服务器集群;业务服务器集群接收并且处理客户端请求,返回请求结果至客户端;客户端展示请求结果和消息;同时业务服务器集群将请求资源操作发送到计算服务器;

计算服务器处理资源操作后,将结果发送给消息队列;

消息队列接收主机推送的消息,业务服务器集群监听消息和组装消息格式,通过websocket连接推送消息至客户端。

值得说明的是,虽然前述内容已经参考若干具体实施方式描述了本发明创造的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。



技术特征:

技术总结
一种基于服务器集群的消息推送方法,包括:步骤1,采用服务器集群方式部署应用系统,客户端与服务端保持双向绑定,两者之间数据直接互相传送;步骤2,客户端操作资源,发送请求到Nginx(web服务器),nginx将请求转发至业务服务器集群;步骤3业务服务器集群将请求结果同步返回给客户端,同时向计算服务器集群请求执行资源操作;步骤4,计算服务器集群将处理结果推送到消息队列;步骤5,业务服务器监听消息队列,并解析消息源,将解析结果异步推送给客户端。

技术研发人员:许朗;陈川;龚昕;武静;曾俊
受保护的技术使用者:中电科华云信息技术有限公司
技术研发日:2018.12.18
技术公布日:2019.04.19
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1