CN109660617A - 一种基于服务器集群的消息推送方法 - Google Patents
一种基于服务器集群的消息推送方法 Download PDFInfo
- Publication number
- CN109660617A CN109660617A CN201811548796.9A CN201811548796A CN109660617A CN 109660617 A CN109660617 A CN 109660617A CN 201811548796 A CN201811548796 A CN 201811548796A CN 109660617 A CN109660617 A CN 109660617A
- Authority
- CN
- China
- Prior art keywords
- server cluster
- client
- request
- message
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
一种基于服务器集群的消息推送方法,包括:步骤1,采用服务器集群方式部署应用系统,客户端与服务端保持双向绑定,两者之间数据直接互相传送;步骤2,客户端操作资源,发送请求到Nginx(web服务器),nginx将请求转发至业务服务器集群;步骤3业务服务器集群将请求结果同步返回给客户端,同时向计算服务器集群请求执行资源操作;步骤4,计算服务器集群将处理结果推送到消息队列;步骤5,业务服务器监听消息队列,并解析消息源,将解析结果异步推送给客户端。
Description
技术领域
本发明属于通信技术领域,特别涉及一种基于服务器集群的消息推送方法。
背景技术
在基础设施即服务平台中,存在对基础资源的大量操作和应用场景,客户通过可视化平台对基础资源进行操作发起响应的请求,业务系统接收到请求后传递给计算服务器,需要同步返回请求的结果。但是计算服务器耗时操作无法做到同步返回操作结果,这就要求业务员服务器端需要实时获取计算服务器资源状态详情和结果返回,同时考虑到时效和业务需求等问题,将结果封装为响应的消息提示异步推送到客户端,分别为系统客户展示请求结果和资源变化的消息提示。
而传统的服务器与客户端消息推送方式为,定期轮询、长轮询和流。这些方法很明显的存在着一些弊端,包括:
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(engine x)是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务,本实施例中作为web服务器;
在注册Handler之前,根据注册用户信息,绑定WebsocketSession,之后一旦有数据可以主动并精准推送给指定的客户端;
步骤2,客户端操作资源,发送请求到Nginx(web服务器),nginx将请求转发至业务服务器集群;
步骤3,业务服务器集群将请求结果同步返回给客户端,同时向计算服务器集群请求执行资源操作;
步骤4,计算服务器集群将处理结果推送到消息队列;
步骤5,业务服务器监听消息,并解析消息源,将解析结果异步推送给客户端。
根据一个或者多个实施例,如图1所示,一种消息推送系统,该系统包括业务服务器集群、计算服务器集群、客户端,
客户端通过建立Websocket连接发送请求至业务服务器集群;业务服务器集群接收并且处理客户端请求,返回请求结果至客户端;客户端展示请求结果和消息;同时业务服务器集群将请求资源操作发送到计算服务器;
计算服务器处理资源操作后,将结果发送给消息队列;
消息队列接收主机推送的消息,业务服务器集群监听消息和组装消息格式,通过Websocket连接推送消息至客户端。
值得说明的是,虽然前述内容已经参考若干具体实施方式描述了本发明创造的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (3)
1.一种基于服务器集群的消息推送方法,其特征在于,该方法包括如下步骤:
步骤1,采用服务器集群方式部署应用系统,客户端与服务端保持双向绑定,两者之间数据直接互相传送;
步骤2,客户端操作资源,发送请求到web服务器,nginx将请求转发至业务服务器集群;
步骤3,业务服务器集群将请求结果同步返回给客户端,同时向计算服务器集群请求执行资源操作;
步骤4,计算服务器集群将处理结果推送到消息队列;
步骤5,业务服务器监听消息,并解析消息源,将解析结果异步推送给客户端。
2.根据权利要求1所述的基于服务器集群的消息推送方法,其特征在于,步骤1中还包括:
当客户端登录,发送一次握手的请求,通过web服务器nginx转发到业务集群服务器,业务服务器中的Websocket操作类会根据访问的域以及请求路径注册一个Handler,通过收集数据,进行任务分发;
在注册Handler之前,根据注册用户信息,绑定WebsocketSession,之后一旦有数据可以主动并精准推送给指定的客户端。
3.一种消息推送系统,其特征在于,该系统包括业务服务器集群、计算服务器集群、客户端,
客户端通过建立Websocket连接发送请求至业务服务器集群;
业务服务器集群接收并且处理客户端请求,返回请求结果至客户端;客户端展示请求结果和消息;同时业务服务器集群将请求资源操作发送到计算服务器;
计算服务器处理资源操作后,将结果发送给消息队列;
消息队列接收主机推送的消息,业务服务器集群监听消息和组装消息格式,通过Websocket连接推送消息至客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811548796.9A CN109660617A (zh) | 2018-12-18 | 2018-12-18 | 一种基于服务器集群的消息推送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811548796.9A CN109660617A (zh) | 2018-12-18 | 2018-12-18 | 一种基于服务器集群的消息推送方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109660617A true CN109660617A (zh) | 2019-04-19 |
Family
ID=66113356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811548796.9A Pending CN109660617A (zh) | 2018-12-18 | 2018-12-18 | 一种基于服务器集群的消息推送方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109660617A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110062055A (zh) * | 2019-05-31 | 2019-07-26 | 四川长虹电器股份有限公司 | 基于websocket的单用户多地登录分布式推送的方法 |
CN110138858A (zh) * | 2019-05-14 | 2019-08-16 | 北京杰思安全科技有限公司 | 一种基于Websocket的任务管理系统及方法 |
CN110764930A (zh) * | 2019-10-21 | 2020-02-07 | 中国民航信息网络股份有限公司 | 基于消息模式的请求或应答处理方法及装置 |
CN111953791A (zh) * | 2020-08-17 | 2020-11-17 | 浪潮云信息技术股份公司 | 一种基于webSocket高并发的消息动态同步处理方案 |
CN112565059A (zh) * | 2020-12-03 | 2021-03-26 | 城云科技(中国)有限公司 | 基于即时通讯私有云架构的消息传输方法和系统 |
CN113382048A (zh) * | 2021-05-28 | 2021-09-10 | 广东好太太智能家居有限公司 | 一种消息推送方法、系统、设备及存储介质 |
CN114979240A (zh) * | 2022-07-26 | 2022-08-30 | 杭州奇思妙行网络科技有限公司 | 一种分布式WebSocket接入系统及方法 |
CN115665173A (zh) * | 2022-12-05 | 2023-01-31 | 深圳市华曦达科技股份有限公司 | 一种基于MQ的WebSocket通信方法、系统和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685363A (zh) * | 2012-09-07 | 2014-03-26 | 中国科学院计算机网络信息中心 | 一种高效可靠的多任务处理方法及系统 |
CN106230896A (zh) * | 2016-07-18 | 2016-12-14 | 深圳国泰安教育技术股份有限公司 | 一种消息推送方法、装置及系统 |
CN106301947A (zh) * | 2016-08-31 | 2017-01-04 | 广州唯品会信息科技有限公司 | 业务信息处理系统和方法 |
CN107093138A (zh) * | 2017-04-21 | 2017-08-25 | 山东佳联电子商务有限公司 | 基于分布式无阻塞异步消息处理模式的拍卖竞价系统及其运行方法 |
CN107426341A (zh) * | 2017-09-13 | 2017-12-01 | 北京智芯微电子科技有限公司 | App与服务端交互的系统及方法 |
US20180183862A1 (en) * | 2016-12-22 | 2018-06-28 | University-Industry Cooperation Group Of Kyung-Hee University | Apparatus and method for logically grouping client nodes in an iot environment using client identifiers |
CN108874562A (zh) * | 2018-06-21 | 2018-11-23 | 北京顺丰同城科技有限公司 | 分布式高并发消息队列推送系统 |
-
2018
- 2018-12-18 CN CN201811548796.9A patent/CN109660617A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685363A (zh) * | 2012-09-07 | 2014-03-26 | 中国科学院计算机网络信息中心 | 一种高效可靠的多任务处理方法及系统 |
CN106230896A (zh) * | 2016-07-18 | 2016-12-14 | 深圳国泰安教育技术股份有限公司 | 一种消息推送方法、装置及系统 |
CN106301947A (zh) * | 2016-08-31 | 2017-01-04 | 广州唯品会信息科技有限公司 | 业务信息处理系统和方法 |
US20180183862A1 (en) * | 2016-12-22 | 2018-06-28 | University-Industry Cooperation Group Of Kyung-Hee University | Apparatus and method for logically grouping client nodes in an iot environment using client identifiers |
CN107093138A (zh) * | 2017-04-21 | 2017-08-25 | 山东佳联电子商务有限公司 | 基于分布式无阻塞异步消息处理模式的拍卖竞价系统及其运行方法 |
CN107426341A (zh) * | 2017-09-13 | 2017-12-01 | 北京智芯微电子科技有限公司 | App与服务端交互的系统及方法 |
CN108874562A (zh) * | 2018-06-21 | 2018-11-23 | 北京顺丰同城科技有限公司 | 分布式高并发消息队列推送系统 |
Non-Patent Citations (1)
Title |
---|
王英男: ""nginx"", 《HTTPS://BAIKE.BAIDU.COM/HISTORY/NGINX/3817705/133919896》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110138858A (zh) * | 2019-05-14 | 2019-08-16 | 北京杰思安全科技有限公司 | 一种基于Websocket的任务管理系统及方法 |
CN110062055A (zh) * | 2019-05-31 | 2019-07-26 | 四川长虹电器股份有限公司 | 基于websocket的单用户多地登录分布式推送的方法 |
CN110062055B (zh) * | 2019-05-31 | 2021-07-20 | 四川长虹电器股份有限公司 | 基于websocket的单用户多地登录分布式推送的方法 |
CN110764930A (zh) * | 2019-10-21 | 2020-02-07 | 中国民航信息网络股份有限公司 | 基于消息模式的请求或应答处理方法及装置 |
CN111953791A (zh) * | 2020-08-17 | 2020-11-17 | 浪潮云信息技术股份公司 | 一种基于webSocket高并发的消息动态同步处理方案 |
CN112565059A (zh) * | 2020-12-03 | 2021-03-26 | 城云科技(中国)有限公司 | 基于即时通讯私有云架构的消息传输方法和系统 |
CN112565059B (zh) * | 2020-12-03 | 2022-06-28 | 城云科技(中国)有限公司 | 基于即时通讯私有云架构的消息传输方法和系统 |
CN113382048A (zh) * | 2021-05-28 | 2021-09-10 | 广东好太太智能家居有限公司 | 一种消息推送方法、系统、设备及存储介质 |
CN114979240A (zh) * | 2022-07-26 | 2022-08-30 | 杭州奇思妙行网络科技有限公司 | 一种分布式WebSocket接入系统及方法 |
CN115665173A (zh) * | 2022-12-05 | 2023-01-31 | 深圳市华曦达科技股份有限公司 | 一种基于MQ的WebSocket通信方法、系统和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109660617A (zh) | 一种基于服务器集群的消息推送方法 | |
Bayılmış et al. | A survey on communication protocols and performance evaluations for Internet of Things | |
CN102546794B (zh) | 浏览器客户端与后端服务器直通的方法、网关和通信系统 | |
JP6438037B2 (ja) | 通知ベースの無効化を伴うコンテンツのキャッシングのためのシステム及び方法 | |
US7426194B2 (en) | System and method for asynchronous wireless services using reverse service schema generation | |
Lerche et al. | Industry adoption of the Internet of Things: A constrained application protocol survey | |
US10931479B2 (en) | Inband data gathering with dynamic intermediary route selections | |
CN110058987B (zh) | 用于对计算系统进行追踪的方法、设备和计算机可读介质 | |
KR101834837B1 (ko) | MQTT와 KAFKA를 이용한 IoT 센서 시뮬레이터 시스템 | |
CN105407180A (zh) | 服务器的消息推送方法和装置 | |
US20070282899A1 (en) | System and method for managing and distributing assets over a network | |
CN112711635B (zh) | 一种分布式物联设备跨区域数据一致性的方法和服务集群 | |
US20080162690A1 (en) | Application Management System | |
CN108156223A (zh) | 一种基于websocket的消息精准推送系统及方法 | |
CN110086759B (zh) | 一种用于在异构系统之间实现消息传递的方法和装置 | |
CN103401942B (zh) | 内容分发网络节点实现web应用加速的方法和系统 | |
Tortonesi et al. | Enabling the deployment of COTS applications in tactical edge networks | |
CN102594886B (zh) | 浏览器与浏览器直通的方法、装置和通信系统 | |
CN104243610A (zh) | 一种分布式文件传输服务方法 | |
CN104320441A (zh) | 无线通信系统间信息共享方法 | |
Iglesias-Urkia et al. | Enhanced publish/subscribe in CoAP: describing advanced subscription mechanisms for the observe extension | |
CN115756771B (zh) | 微服务化的前置系统、工作流调度方法及装置 | |
CN108259576B (zh) | 一种软硬件实时信息传输系统和方法 | |
CN108924773B (zh) | 消息处理方法及装置 | |
Tari et al. | On the performance of web services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190419 |