CN110958306B - 一种基于微服务的数据请求统一交换机制 - Google Patents
一种基于微服务的数据请求统一交换机制 Download PDFInfo
- Publication number
- CN110958306B CN110958306B CN201911129079.7A CN201911129079A CN110958306B CN 110958306 B CN110958306 B CN 110958306B CN 201911129079 A CN201911129079 A CN 201911129079A CN 110958306 B CN110958306 B CN 110958306B
- Authority
- CN
- China
- Prior art keywords
- service
- request
- path
- url
- routing
- 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.)
- Active
Links
Images
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/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明一种基于微服务的数据请求统一交换机制,包括服务路由机制和统一服务路由配置。服务路由机制可接纳多个***的服务请求,提供统一服务调用出口给多个服务使用方使用,避免服务请求方和服务提供方繁琐的交互,也可避免服务请求方申请各个服务的网络策略权限,同时统一对服务进行管理,提高服务质量和可用率。
Description
技术领域
本发明涉及微服务的请求治理方法领域,具体涉及一种基于微服务的数据请求统一交换机制。
背景技术
随着精益化管理的全面推行,配电网发展逐步从重视数量和质量转变为关注效率和效益,聚焦运营效率和质量提升。配电自动化***、计量***、生产管理***等各种电力数据监控***为配电网运行分析提供了大量的实时监控数据,例如电压、电流、负荷、潮流、告警、故障率等数据,基于多样数据可以从不同侧面、不同程度评价配电网设备的实际运行效率,为配电网从规划到运行提供技术支撑。同时这些数据还要支撑配电网其他应用,如停电优化、抢修决策等。但是在现有的业务***中,这些实时数据大都非常分散,分布在不同的业务***中,业务数据缺乏统一数据融合,无法进行集中有序的呈现及综合分析。各领域业务细分,***间数据交互越来越多,使***间关系错综复杂,且又涉及到网络安全等因素,对各***间的防火墙支持也很繁琐,不利于***的功能扩展和数据交互。
发明内容
针对现有技术的不足,本发明的目的是提供一种基于微服务的数据请求统一交换机制,即提供一个服务的统一对外出口,所有服务使用者只需从服务统一对外出口获取服务,进而获取业务应用所需的数据。本发明提供统一的服务管理,配套的权限、访问控制机制,提供服务负载均衡机制,使服务使用者不用考虑服务提供者的详细信息,可以方便省心获取高可用的微服务。
为了实现上述目的,本发明采用的技术方案如下:一种基于微服务的数据请求统一交换机制,包括服务路由机制和统一服务路由配置;
所述服务路由机制包括以下步骤:
(1)在服务器端构建一个统一服务请求过滤器,将所有的请求都转发给适配器去处理;
(2)构建一个公共的请求处理适配器,当有服务使用方前来调用服务时,过滤器监测到该请求,则会转发给适配器去处理,适配器先获取请求服务的信息,然后根据请求路径判断是否有配置对应的转发规则,若无则返回404;
(3)若服务请求的路径能匹配上,再判断是否有权限可路由此服务,若无权限则返回The token is incorrect!,若有权限则构建路由URL;
(4)根据请求路径URL、配置的目标服务上下文和服务器IP动态组合,然后创建HttpClient对象,并根据请求方式创建请求的实例,指定请求URL,判断是否发送请求参数,如需发送请求参数,则发送数据请求;
(5)将获取的服务器的响应内容作为结果返回给服务调用方,即完成了一次服务的路由数据交换;
所述服务路由机制可接纳多个***的服务请求,提供统一服务调用出口给多个服务使用方使用;
所述统一服务路由配置包括:配置请求路径转发规则、配置目标服务上下文、配置权限类型、配置敏感信息头、配置服务注册方式。
进一步地,所述统一服务路由配置包括:
a)配置请求路径转发规则:根据服务提供者提供的微服务URL,提取关键路径作为转发规则,通过转发路径能定位到唯一的服务,不得覆盖其他转发路径,规则支持Ant 风格路径表达式;
b)配置目标服务上下文:服务提供方提供服务的应用的部署上下文路径;
c)配置权限类型:公开表示通过网关请求本服务或url时不需要鉴权,对所有请求公开;私密类型表示只有本服务需要鉴权,只有被授权的APP才能通过网关请求本服务;
d)配置敏感信息头:用户不需要传递到下文的敏感信息,配置后,网关会将请求头中配置的敏感信息屏蔽掉,不带到下游;
e)配置服务注册方式:若为自动注册,则会自动读取注册到Eureka服务注册中心的服务,前提要求需要注册同一个服务注册中心;若手动注册,有Host方式和URL方式。
进一步地,所述步骤(2)中适配器的过滤方法为:根据Ant匹配表达式,表达式会配置关键路径信息,查看服务请求的路径是否能匹配上。
进一步地,所述步骤(3)中权限控制的判断方法为:若是路由策略配置了需要权限,则根据服务调用方的入参的appId和Token,将appId和Token和平台配置的做比较,若一致则权限通过,否则认为无使用权限。
进一步地,所述 Host方式为:需要手动将服务多个节点的信息配置到网关,格式为ip:port,多个节点之间用英文逗号“,”相隔;所述URL方式为:以URL的方式将服务配置到网关。
本发明一种基于微服务的数据请求统一交换机制,避免服务请求方和服务提供方繁琐的交互,也可避免服务请求方申请各个服务的网络策略权限,同时统一对服务进行管理,提高服务质量和可用率;比如若存在5个服务提供***,每个***提供一个服务,同时又存在5个服务使用***,各自使用5个服务的其中几个,此时就需要5个服务使用***对使用的服务进行交互、申请对应的防火墙等,若服务提供***未做负载均衡,则可能需要申请的防火墙会更多,增加额外工作量;本发明一种基于微服务的数据请求统一交换机制,使用统一的交换机制,则对外暴露统一访问IP,服务使用方只需要关心统一IP即可,同时服务提供方也不用考虑服务的权限等一系列问题,服务质量高。
附图说明
图1是本发明一种基于微服务的数据请求统一交换机制的概要图;
图2是本发明一种基于微服务的数据请求统一交换机制的服务路由机制的概要图。
具体实施方式
下面的实施例可以帮助本领域的技术人员更全面地理解本发明,但不可以以任何方式限制本发明。
实施例
参照图1-图2,一种基于微服务的数据请求统一交换机制,包括服务路由机制和统一服务路由配置;
所述服务路由包括:过滤器、设配器、权限控制、目标服务、获取结果,服务路由可接纳多个***的服务请求(N:1),提供统一服务调用出口给多个服务使用方使用(1:N)。
所述服务路由机制包括以下步骤:
(1)过滤器:在服务器端构建一个统一服务请求过滤器Filter,将所有的请求都转发给适配器去处理;
(2)适配器:构建一个公共的请求处理适配器Adapter,当有服务使用方前来调用服务时,过滤器监测到该请求,则会转发给适配器去处理,适配器先获取请求服务的请求方式、请求路径URI、请求头、请求参数等信息,然后根据请求路径判断是否有配置对应的转发规则,若无则返回404(无法定位到目标服务);
如何过滤:根据Ant匹配表达式,表达式会配置关键路径信息,查看服务请求的路径是否能匹配上;
(3)权限控制:若步骤(2)能匹配到,则判断是否有权限可路由此服务,若无权限则返回The token is incorrect! ( token信息不正确),若有权限则构建路由url;
权限判断方法:若是路由策略配置了需要权限,则根据服务调用方的入参的appId和Token,将appId和Token和平台配置的做比较,若一致则权限通过,否则认为无使用权限;
(4)目标服务:根据请求路径URI(错误)、配置的目标服务上下文和服务器Ip动态组合,然后创建HttpClient对象,并根据请求方式创建请求的实例,指定请求URL,如果需要发送GET请求,则创建HttpGet对象如果需要发送POST请求,则创建HttpPost对象,判断请求是否携带敏感信息,不需要传递则不设置cookie等敏感信息,判断请求是否携带参数,如果需要发送请求参数,那么调用HttpGet、HttpPost共同的setParams(HetpParams params)方法来添加请求参数,然后调用HttpClient对象的execute(HttpUriRequest request)发送数据请求;
(5)获取结果:请求方法会返回一个HttpResponse,得到结果后调用HttpResponse的getAllHeaders()方法获取服务器的响应头,调用HttpResponse的getEntity()方法获取HttpEntity对象,Entity对象包装了服务器的响应内容,通过EntityUtils的toString()方法获取服务器的响应内容,将此内容作为结果返回给服务调用方,即完成了一次服务的路由数据交换。
所述统一服务路由配置包括:
a)配置请求路径转发规则
根据服务提供者提供的微服务URL,提取关键路径作为转发规则,通过转发路径能定位到唯一的服务,不得覆盖其他转发路径,规则支持Ant 风格路径表达式;
b)配置目标服务上下文
服务提供方提供服务的应用的部署上下文路径;
c)配置权限类型
公开表示通过网关请求本服务或URL时不需要鉴权,对所有请求公开;私密类型表示只有本服务需要鉴权,只有被授权的APP才能通过网关请求本服务;
d)配置敏感信息头
用户不需要传递到下文的敏感信息,如Cookie等等,配置后,网关会将请求头中配置的敏感信息屏蔽掉,不会带到下游;
e)配置服务注册方式
若为自动注册,则会自动读取注册到Eureka服务注册中心的服务,前提要求需要注册同一个服务注册中心;若手动注册,有Host方式和URL方式, Host方式:需要手动将服务多个节点的信息配置到网关,格式为ip:port,多个节点之间用英文逗号”,”相隔, URL方式:以URL的方式将服务配置到网关。
虽然,上文中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (1)
1.一种基于微服务的数据请求统一交换方法,其特征在于:包括服务路由机制和统一服务路由配置;
所述服务路由机制包括以下步骤:
(1)在服务器端构建一个统一服务请求过滤器,将所有的请求都转发给适配器去处理;
(2)构建一个公共的请求处理适配器,当有服务使用方前来调用服务时,过滤器监测到该请求,则会转发给适配器去处理,适配器先获取请求服务的信息,然后根据请求路径判断是否有配置对应的转发规则,若无则返回404;
适配器的过滤方法为:根据Ant匹配表达式,表达式会配置关键路径信息,查看服务请求的路径是否能匹配上;
(3)若服务请求的路径能匹配上,再判断是否有权限可路由此服务,若无权限则返回The token is incorrect!,若有权限则构建路由URL;
权限控制的判断方法为:若是路由策略配置了需要权限,则根据服务调用方的入参的appId和Token,将appId和Token和平台配置的做比较,若一致则权限通过,否则认为无使用权限;
(4)根据请求路径URL、配置的目标服务上下文和服务器IP动态组合,然后创建HttpClient对象,并根据请求方式创建请求的实例,指定请求URL,判断是否发送请求参数,如需发送请求参数,则发送数据请求;
(5)将获取的服务器的响应内容作为结果返回给服务调用方,即完成了一次服务的路由数据交换;
所述服务路由机制可接纳多个***的服务请求,提供统一服务调用出口给多个服务使用方使用;
所述统一服务路由配置包括:
a)配置请求路径转发规则:根据服务提供者提供的微服务URL,提取关键路径作为转发规则,通过转发路径能定位到唯一的服务,不得覆盖其他转发路径,规则支持Ant 风格路径表达式;
b)配置目标服务上下文:服务提供方提供服务的应用的部署上下文路径;
c)配置权限类型:公开表示通过网关请求本服务或url时不需要鉴权,对所有请求公开;私密类型表示只有本服务需要鉴权,只有被授权的APP才能通过网关请求本服务;
d)配置敏感信息头:用户不需要传递到下文的敏感信息,配置后,网关会将请求头中配置的敏感信息屏蔽掉,不带到下游;
e)配置服务注册方式:若为自动注册,则会自动读取注册到Eureka服务注册中心的服务,前提要求需要注册同一个服务注册中心;若手动注册,有Host方式和URL方式;
所述 Host方式为:需要手动将服务多个节点的信息配置到网关,格式为ip:port,多个节点之间用英文逗号“,”相隔;所述URL方式为:以URL的方式将服务配置到网关。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911129079.7A CN110958306B (zh) | 2019-11-18 | 2019-11-18 | 一种基于微服务的数据请求统一交换机制 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911129079.7A CN110958306B (zh) | 2019-11-18 | 2019-11-18 | 一种基于微服务的数据请求统一交换机制 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110958306A CN110958306A (zh) | 2020-04-03 |
CN110958306B true CN110958306B (zh) | 2022-12-13 |
Family
ID=69977652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911129079.7A Active CN110958306B (zh) | 2019-11-18 | 2019-11-18 | 一种基于微服务的数据请求统一交换机制 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110958306B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111327619A (zh) * | 2020-02-26 | 2020-06-23 | 南方电网科学研究院有限责任公司 | 一种微服务数据交换方法和装置 |
CN112118184B (zh) * | 2020-08-06 | 2022-06-03 | 北京健康之家科技有限公司 | 网关自动路由方法及装置、存储介质、计算机设备 |
CN112751935B (zh) * | 2020-12-31 | 2022-08-12 | 南京云柜网络科技有限公司 | 请求处理方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108809956A (zh) * | 2018-05-23 | 2018-11-13 | 广州虎牙信息科技有限公司 | 基于微服务的鉴权方法、访问请求转发方法和装置、*** |
CN109672612A (zh) * | 2018-12-13 | 2019-04-23 | 中国电子科技集团公司电子科学研究院 | Api网关*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10791056B2 (en) * | 2018-04-16 | 2020-09-29 | Citrix Systems, Inc. | Policy based service routing |
-
2019
- 2019-11-18 CN CN201911129079.7A patent/CN110958306B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108809956A (zh) * | 2018-05-23 | 2018-11-13 | 广州虎牙信息科技有限公司 | 基于微服务的鉴权方法、访问请求转发方法和装置、*** |
CN109672612A (zh) * | 2018-12-13 | 2019-04-23 | 中国电子科技集团公司电子科学研究院 | Api网关*** |
Non-Patent Citations (1)
Title |
---|
微服务API网关的设计及应用;廖俊杰,陶智勇;《自动化技术与应用》;20190825;第38卷(第8期);摘要及正文第1-3节 * |
Also Published As
Publication number | Publication date |
---|---|
CN110958306A (zh) | 2020-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108551464B (zh) | 一种混合云的连接建立、数据传输方法、装置和*** | |
CN111488595B (zh) | 用于实现权限控制的方法及相关设备 | |
CN110958306B (zh) | 一种基于微服务的数据请求统一交换机制 | |
US20210037097A1 (en) | Cloud data storage location monitoring | |
US10225288B2 (en) | Scalable network security detection and prevention platform | |
WO2018095416A1 (zh) | 信息处理方法、装置及*** | |
EP2076999B1 (en) | Network service usage management systems and methods | |
US9521053B1 (en) | Providing diagnostic metrics for virtual connections over physical connections into a provider network | |
RU2595942C2 (ru) | Интерфейс непосредственного управления одноранговыми сетевыми узлами | |
JP2018518862A (ja) | グローバル仮想ネットワーク(gvn)において仮想インタフェースとアドバンストスマートルーティングとを提供するためのシステム及び方法 | |
EP3085135A1 (en) | System, method, and computer program for inter-module communication in a network based on network function virtualization (nfv) | |
KR20080008357A (ko) | 네트웍 서비스 인프라스트럭처 시스템 및 방법 | |
WO2020028602A2 (en) | Method and system for a network presence platform with intelligent routing | |
US11985127B2 (en) | Systems and methods for automated network-based rule generation and configuration of different network devices | |
Müller et al. | 5G as key technology for networked factories: Application of vertical-specific network services for enabling flexible smart manufacturing | |
WO2018025269A1 (en) | Method for optimizing quality of experience in mixed managed and unmanaged network environments with governance and regulation constraints | |
US20220303283A1 (en) | Method and System for Managing Secure IoT Device Applications | |
KR102036137B1 (ko) | 방화벽 정책 분석 방법 및 그 장치 | |
CN111327619A (zh) | 一种微服务数据交换方法和装置 | |
US11683240B2 (en) | Intelligent and assisted intent builder | |
US11374813B1 (en) | Software defined network device exposure to third parties | |
CN114969173A (zh) | 一种服务集成和共享***及方法 | |
CN103392322B (zh) | 用于通信的方法和通信网络中的部件 | |
US20230394126A1 (en) | Computer system and user management method | |
CN112486649B (zh) | 一种顾及空间约束的gis服务网关平台 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |