一种通信装置、云端与内网之间调用服务的方法制造方法及图纸

技术编号:30284866 阅读:21 留言:0更新日期:2021-10-09 21:55
本发明专利技术公开了一种通信装置、云端与内网之间调用服务的方法,包括云端和与所述云端通信的本地局域网、设置于云端或本地局域网内的网关;所述网关下游设置有代理层;所述代理层与所述网关下游的应用层通信。本发明专利技术可以降低开发难度,不需要专门的人力开发、维护网关功能,只需通过网关及代理层的配置,即可解决云上应用与本地应用通讯复杂、低效的问题。低效的问题。低效的问题。

【技术实现步骤摘要】
一种通信装置、云端与内网之间调用服务的方法


[0001]本专利技术涉及混合云上应用与本地应用之间通讯进行数据交互的IT
,特别是一种通信装置及云端与内网之间调用服务的方法。

技术介绍

[0002]Spring Cloud Gateway作为网关与内部应用调用链路关系如图1所示。客户端向云网关组件发出请求。然后在网关匹配处理器中找到与请求相匹配的路由,将其发送到网关web处理器再通过指定的过滤器来将请求发送到我们实际的服务集群执行业务逻辑,然后返回。
[0003]通过网关,Client端应用调用网关路由即可获取具体功能。应用与网关具体部署架构有以下几种方式:
[0004]1)如图2应用部署在本地,相互调用,网关部署在内网的情况;
[0005]2)如图3应用部署在云上,云上应用需调用本地应用,进口网关部署在云上的情况;
[0006]3)如图4应用部署在云上,云上应用需调用本地应用,出口网关部署在本地的情况;
[0007]4)如图4应用部署在云上,本地应用调用云上应用,出口网关部署在本地的情况;
[0008]5)如图3应用部署在云上,本地应用调用云上应用,进口网关部署在云上的情况;可以看出除了情况1)应用都在本地,包括网关服务也部署在本地,因此无网络局限问题,但其他情况应用部署在云和本地,在云上应用与本地应用通过网关通信进行数据交互时,假设云与本地之间网络出现问题,那么2),3),4),5)的方案都会出现因网络问题造成网关无法提供正常服务。
[0009]在Spring Cloud中,通过使用Ribbon+RestTemplate技术可以使服务多链路解决上述情况2),3),4),5)因网络问题造成网关无法提供正常服务的问题。
[0010]RestTemplate:RestTemplate是Spring用于同步client端的核心类,简化了与http服务的通信,并满足RestFul原则,程序代码可以给它提供URL,并提取结果。
[0011]Ribbon:Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netfilx Ribbon实现。通过Spring Cloud封装,可以轻松地将面向服务的RestTemplate模版请求自动转换为客户端负载均衡的服务调用。在调用过程中通过配置ribbon.listOfServers参数作为服务端URL列表,然后根据负载均衡规则(目前系统提供了7种规则,具体详情可参考Ribbon的负载均衡策略)以实现均衡负载。
[0012]尽管使用Ribbon+RestTemplate技术可以通过负载均衡达到服务多链路的需求,但随着服务增多,为了保障网关能够正常提供服务,每一次新增服务都需要对新服务编写请求代码及配置服务参数ribbon.listOfServers。开发人员每次新增服务时,如何提供给参数的通用解析方法、如何配置服务名都没有统一的规范,由于网关不具备通用性,给开发、修改及后期运维带了非常大的麻烦,使网关工作变得复杂而低效。

技术实现思路

[0013]本专利技术所要解决的技术问题是,针对现有技术不足,提供一种通信装置及云端与内网之间调用服务的方法,降低开发难度并提高接入新服务的效率。
[0014]为解决上述技术问题,本专利技术所采用的技术方案是:一种通信装置,包括云端和与所述云端通信的本地局域网、设置于云端或本地局域网内的网关;所述网关下游设置有代理层;所述代理层与所述网关下游的应用层通信。
[0015]本专利技术在网关下游设置了代理层,采用代理转发的方式提高网关的HA性能,通过Nginx配置请求降低了开发难度。
[0016]所述代理层设置于Nginx服务器内。设置Nginx软件做代理转发,一可设置upstream配置实现负载均衡降低服务运行负荷,二可自由配置location转发规则,灵活分配请求服务的资源。
[0017]所述网关设置于云端;所述Nginx服务器设置于本地局域网内。该设置适用于云端应用访问内网服务(后面皆以进口网关描述该设置),进口网关的有点是通过Ribbon+RestTemplate技术实现互联网多链路访问本地局域网,从而保障服务的高可用性,无需创建云端与本地局域网VPN通道服务,同时还可降低成本。
[0018]所述网关设置于本地局域网;所述Nginx服务器设置于云端。该设置适用于内网应用访问云端服务(后面皆以出口网关描述该设置),出口网关的优点是通过Ribbon+RestTemplate技术实现互联网多链路访问云端服务,从而保障服务的高可用性,无需创建云端与本地局域网VPN通道服务,同时还可降低成本。
[0019]所述本地局域网内设置有至少两台Nginx服务器。2台Nginx互备冗余。
[0020]本专利技术实现所述代理层高可用的步骤包括:
[0021]1)在网关应用配置文件中配置至少2个链路IP,假设为IP1,IP2;为每台Nginx服务器配置2个分别负责链路IP1,IP2地址的接收与转发的片文件CONF1,CONF2;两台Nginx服务器均配置虚拟路由冗余协议Keepalived生成虚拟IP1,虚拟IP2地址,在本地局域网通过NAT技术配置外网IP1映射局域网虚拟IP1,外网IP2映射局域网虚拟IP2;
[0022]2)判断两台Nginx服务器服务是否正常,若是,则同一时段一台Nginx服务器只存在一个虚拟IP;若其中一台Nginx服务器不能正常提供服务,则通过所述虚拟路由冗余协议Keepalived将该服务器的虚拟IP漂移到另一台Nginx服务器的虚拟IP上。
[0023]所述云端与客户端通信。
[0024]一种利用上述通信装置实现云端与内网之间调用服务的方法,其包括以下步骤:
[0025]S1、客户端调用网关服务,为所述网关服务设置配置文件;
[0026]S2、所述网关服务的URL地址通过NAT技术配置匹配到映射的虚拟IP地址的Nginx服务器上;
[0027]S3、所述Nginx服务器通过Nginx服务配置文件配置的监听端口匹配URL规则,Nginx服务器作为代理层转发到对应的服务。
[0028]以上所述,可以发现网关与代理层Nginx服务都有配置文件,网关配置文件可以实现带真实IP地址的URL链接,而Nginx服务可用通过URL PATH路径作匹配,根据匹配到达转发到需要的真实服务上。
[0029]与现有技术相比,本专利技术所具有的有益效果为:本专利技术可以降低开发难度,不需要
专门的人力开发、维护网关功能,只需通过网关及代理层Nginx配置,即可解决云上应用与本地应用通讯复杂、低效的问题。
附图说明
[0030]图1为Spring Cloud Gateway作为网关与内部应用调用链路关系图。
[0031]图2为现有技术情况1)示意图;
[0032]图3为现有技术情况2)、5)示意图;
[0033]图4为现有技本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通信装置,包括云端和与所述云端通信的本地局域网、设置于云端或本地局域网内的网关;其特征在于,所述网关下游设置有代理层;所述代理层与所述网关下游的应用层通信。2.根据权利要求1所述的通信装置,其特征在于,所述代理层设置于Nginx服务器内。3.根据权利要求2所述的通信装置,其特征在于,所述网关设置于云端;所述Nginx服务器为代理层设置于本地局域网内。4.根据权利要求2~4之一所述的通信装置,其特征在于,所述云端或本地局域网内设置有代理层至少需要两台Nginx服务器。5.根据权利要求5所述的通信装置,其特征在于,实现所述代理层高可用的步骤包括:1)在网关配置文件中配置至少2个链路IP;为每台Nginx服务器配置2个负责链路IP地址的接收与转发的文件;两台Nginx服务器均配置...

【专利技术属性】
技术研发人员:韩鑫徐星魏俊义
申请(专利权)人:快乐购有限责任公司
类型:发明
国别省市:

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

1