一种微服务架构下将无状态服务接收到的消息通过长连接透传的方法和装置制造方法及图纸

技术编号:19242743 阅读:27 留言:0更新日期:2018-10-24 05:24
本发明专利技术公开了一种微服务架构下将无状态服务接收到的消息通过长连接透传的方法和装置,所述方法包括:透传服务器收到消息后根据协议内容判断本条消息是否是本次通信的第一条消息;如果是第一条消息,透传服务器与目标服务器建立长连接并将连接句柄缓存至当前透传服务器内存中;将当前透传服务器的地址信息缓存至缓存服务器;透传服务器通过长连接向目标服务器发送消息数据,以便目标服务器向终端回复消息。通过将透传服务独立出来,在首次建立长连接时将当前透传服务地址信息缓存至外部服务器,当应用服务器准备透传时,可以根据缓存服务器找到对应的透传服务器地址,并在该透传服务器内找到句柄,从而实现消息的透传。

【技术实现步骤摘要】
一种微服务架构下将无状态服务接收到的消息通过长连接透传的方法和装置
本专利技术涉及计算机
,特别是一种微服务架构下将无状态服务接收到的消息通过长连接透传的方法和装置。
技术介绍
微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。微服务应用的一个最大的优点是,它们往往比传统的应用程序更有效地利用计算资源。这是因为它们通过扩展组件来处理功能瓶颈问题。这样一来,开发人员只需要为额外的组件部署计算资源,而不需要部署一个完整的应用程序的全新迭代。最终的结果是有更多的资源可以提供给其它任务。作为IOT平台,大多数客户都希望通过平台能实现终端发送的数据能透传到自有的业务系统中进行数据处理,来实现业务系统与终端进行通信的需求。而IOT平台由于数据量大,对平台的性能和稳定性又有较高要求,当前主流的微服务架构可以很好的实现系统对这方面的要求。微服务架构下,存在多个无状态服务用于接收终端发来的消息,这些消息需要通过同一个长连接发送到目标服务器,那么当一个消息在A服务上接收并与目标服务器建立长连接C进行数据透传后,当B服务再次接收到消息并希望通过使用长连接C进行透传,则无法在B服务中获取长连接C的句柄,无法实现数据透传。
技术实现思路
本专利技术的目的是提供一种微服务架构下将无状态服务接收到的消息通过长连接透传的方法和装置,解决多个无状态服务消息无法通过同一个长连接实现透传到目标服务器的问题。为了实现上述目的,第一方面,本专利技术提供的一种微服务架构下将无状态服务接收到的消息通过长连接透传的方法,包括:透传服务器收到消息后根据协议内容判断本条消息是否是本次通信的第一条消息;如果是第一条消息,透传服务器与目标服务器建立长连接并将连接句柄缓存至当前透传服务器内存中;将当前透传服务器的地址信息缓存至缓存服务器;透传服务器通过长连接向目标服务器发送消息数据,以便目标服务器向终端回复消息。可选地,在透传服务器收到消息后根据协议内容判断本条消息是否是本次通信的第一条消息之前,所述方法还包括:终端向应用服务器发送消息;应用服务器解析消息并根据协议内容判断本条消息是否是本次通信的第一条消息;如果是第一条消息,先清理缓存服务器中当前终端对应的历史缓存,再选择一台透传服务器进行消息发送;如果不是第一条消息,先从缓存服务器获取本次通信过程中缓存的透传服务器地址信息,再向该地址信息对应的透传服务器地址发送消息进行通信。可选地,所述选择一台透传服务器为通过负载均衡进行选择。可选地,所述地址信息包括透传服务器的IP和端口信息。第二方面,本专利技术实施例提供了一种用于实现第一方面中方法的微服务架构下将无状态服务接收到的消息通过长连接透传装置,包括:第一判断单元,用于透传服务器收到消息后根据协议内容判断本条消息是否是本次通信的第一条消息;缓存单元,用于如果是第一条消息,透传服务器与目标服务器建立长连接并将连接句柄缓存至当前透传服务器内存中;将当前透传服务器的地址信息缓存至缓存服务器;长连接发送单元,用于透传服务器通过长连接向目标服务器发送消息数据,以便目标服务器向终端回复消息。可选地,在透传服务器收到消息后根据协议内容判断本条消息是否是本次通信的第一条消息之前,所述装置还包括:终端发送单元,用于终端向应用服务器发送消息;第二判断单元,用于应用服务器解析消息并根据协议内容判断本条消息是否是本次通信的第一条消息;选择单元,用于如果是第一条消息,先清理缓存服务器中当前终端对应的历史缓存,再选择一台透传服务器进行消息发送;应用服务器发送单元,用于如果不是第一条消息,先从缓存服务器获取本次通信过程中缓存的透传服务器地址信息,再向该地址信息对应的透传服务器地址发送消息进行通信。可选地,所述选择一台透传服务器为通过负载均衡进行选择。可选地,所述地址信息包括透传服务器的IP和端口信息。本专利技术提供的微服务架构下将无状态服务接收到的消息通过长连接透传方法和装置,将透传服务独立出来,在首次建立长连接时将当前透传服务地址信息缓存至外部服务器,当应用服务器准备透传时,可以根据缓存服务器找到对应的透传服务器地址,并在该透传服务器内找到句柄,从而实现消息的透传。附图说明图1为本专利技术实施例提供的微服务架构下将无状态服务接收到的消息通过长连接透传方法的交互流程图;图2为本专利技术实施例提供的微服务架构下将无状态服务接收到的消息通过长连接透传装置的结构图。具体实施方式下面将参考附图中示出的若干示例性实施方式来描述本专利技术的原理和精神。应当理解,描述这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本专利技术,而并非以任何方式限制本专利技术的范围。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。术语解释:微服务:一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。微服务应用的一个最大的优点是,它们往往比传统的应用程序更有效地利用计算资源。这是因为它们通过扩展组件来处理功能瓶颈问题。这样一来,开发人员只需要为额外的组件部署计算资源,而不需要部署一个完整的应用程序的全新迭代。最终的结果是有更多的资源可以提供给其它任务。因此,本专利技术实施例中所述的服务对应的应用程序指的是微服务应用。无状态服务:对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库),服务器本身不存储任何信息。在本实施例下文的叙述中,应用服务器接收到的消息(请求)即为无状态服务下请求消息。长连接:指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。如图1所示,本专利技术实施例提供的一种微服务架构下将无状态服务接收到的消息通过长连接透传方法,包括如下步骤:S1:终端向应用服务器发送消息。其中,终端可以是任意一种用户终端,包括但不限于手机、平板电脑、个人电脑、可穿戴设备等。S2:应用服务器解析消息并根据协议内容判断本条消息是否是本次通信的第一条消息。S3:如果是第一条消息,先清理缓存服务器中当前终端对应的历史缓存,再选择一台透传服务器进行消息发送。清楚历史缓存一方面为该透传服务器接下来存储的地址信息(见下文步骤S6)留出存储空间,还可以避免再次发送消息(如步骤S4)时,应用服务器受到缓存信息的干扰,导致透传服务器地址查找错误或查找效率降低。在步骤S3中,可以采用负载均衡规则选择透传服务器,具体可以选择计算资源剩余较多,即负载压力较小的透传服务器,以到达平衡消息传递计算资源的作用。S4:如果不是第一条消息,先从缓存服务器获取本次通信过程中缓存的透传服务器IP和端口信息,再向该IP和端口对应的透传服务器地址发送消息进行通信本文档来自技高网...

【技术保护点】
1.一种微服务架构下将无状态服务接收到的消息通过长连接透传的方法,其特征在于,包括:透传服务器收到消息后根据协议内容判断本条消息是否是本次通信的第一条消息;如果是第一条消息,透传服务器与目标服务器建立长连接并将连接句柄缓存至当前透传服务器内存中;将当前透传服务器的地址信息缓存至缓存服务器;透传服务器通过长连接向目标服务器发送消息数据,以便目标服务器向终端回复消息。

【技术特征摘要】
1.一种微服务架构下将无状态服务接收到的消息通过长连接透传的方法,其特征在于,包括:透传服务器收到消息后根据协议内容判断本条消息是否是本次通信的第一条消息;如果是第一条消息,透传服务器与目标服务器建立长连接并将连接句柄缓存至当前透传服务器内存中;将当前透传服务器的地址信息缓存至缓存服务器;透传服务器通过长连接向目标服务器发送消息数据,以便目标服务器向终端回复消息。2.根据权利要求1所述的方法,其特征在于,在透传服务器收到消息后根据协议内容判断本条消息是否是本次通信的第一条消息之前,所述方法还包括:终端向应用服务器发送消息;应用服务器解析消息并根据协议内容判断本条消息是否是本次通信的第一条消息;如果是第一条消息,先清理缓存服务器中当前终端对应的历史缓存,再选择一台透传服务器进行消息发送;如果不是第一条消息,先从缓存服务器获取本次通信过程中缓存的透传服务器地址信息,再向该地址信息对应的透传服务器地址发送消息进行通信。3.根据权利要求2所述的方法,其特征在于,所述选择一台透传服务器为通过负载均衡进行选择。4.根据权利要求1-3任一所述的方法,其特征在于,所述地址信息包括透传服务器的IP和端口信息。5.一种微服务架构下将无状态服务接收到的消息通过长连接透传装置...

【专利技术属性】
技术研发人员:刘畅东向利李新胜翟创杰董胜龙
申请(专利权)人:廊坊新奥燃气设备有限公司
类型:发明
国别省市:河北,13

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1