CN111163166B - 一种企业服务总线系统 - Google Patents
一种企业服务总线系统 Download PDFInfo
- Publication number
- CN111163166B CN111163166B CN201911394614.1A CN201911394614A CN111163166B CN 111163166 B CN111163166 B CN 111163166B CN 201911394614 A CN201911394614 A CN 201911394614A CN 111163166 B CN111163166 B CN 111163166B
- Authority
- CN
- China
- Prior art keywords
- service
- esb
- module
- centralized
- distributed
- 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
- 238000012545 processing Methods 0.000 claims abstract description 85
- 238000006243 chemical reaction Methods 0.000 claims abstract description 5
- 238000001514 detection method Methods 0.000 claims abstract description 5
- 230000002452 interceptive effect Effects 0.000 claims description 10
- 230000006978 adaptation Effects 0.000 claims description 8
- 230000003993 interaction Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 210000001503 joint Anatomy 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000009916 joint effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/562—Brokering proxy services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- 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
-
- 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/565—Conversion or adaptation of application format or content
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种企业服务总线系统,包括N个ESB消费端模块、M个ESB服务端模块、集中式ESB模块和配置中心;ESB消费端模块接收与其交互的分布式服务消费方发来的第一服务调用请求,并将该第一服务调用请求发送至与相应的第一服务的服务提供方连接的ESB服务端模块或集中式ESB模块,以调用该第一服务;集中式ESB模块在接收到与其交互的非分布式服务消费方发来的第二服务调用请求后,先对该第二服务调用请求进行标准规范报文格式检测和转换处理,再进行逻辑处理,在逻辑处理完成后转换为相应的第二服务的服务提供方可识别的特定报文格式,以调用该第二服务。采用本发明能兼容集中式ESB架构和分布式微服务ESB架构。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种企业服务总线系统。
背景技术
随着国内互联网金融业务的快速发展,人们对金融产品和服务的需求呈现多元化,银行系统越来越复杂,对系统架构的要求越来越高,在这样的背景下,新的分布式微服务应用大量使用,建设分布式ESB(EnterpriseServiceBus,企业服务总线)架构成为趋势。而另一方面,由于银行存在大量存量系统,大量传统应用资产(例如业务系统的接口或者服务)无法短时间内迁移到分布式ESB架构,或者因为服务生命周期管理问题,没有迁移到分布式ESB架构的必要,因此仍需使用传统的集中式ESB架构以保持银行传统业务的运行。
发明人在实施本发明的过程中发现,整合已有系统和新的分布式微服务系统或者整合过程中存在大量的重复工作导致工程代价成本高,因此就需要一种创新的系统和方法以较低的成本实现分布式ESB架构与传统的集中式ESB架构之间比较好地兼容。
发明内容
本发明实施例提供一种企业服务总线系统,能够兼容集中式ESB架构和分布式微服务ESB架构,从而使得已有系统和新的分布式微服务系统能够比较好整合,减少整合工作量、降低整合和后续扩展的研发成本。
为了实现上述目的,本发明实施例提供了一种企业服务总线系统,包括N个ESB消费端模块、M个ESB服务端模块、集中式ESB模块和配置中心;其中,N和M均为正整数;
所述ESB服务端模块,用于作为分布式服务提供方的接出,实现服务注册与发布、接口适配、服务安全管理、服务质量保障、流量控制和超时处理;
所述ESB消费端模块,用于作为分布式服务消费方的接入,实现服务寻址路由、负载均衡、服务安全和接口适配;
所述集中式ESB模块,用于为传统的非分布式服务消费方及传统的非分布式服务提供方提供中介服务,
所述集中式ESB模块,还用于与所述ESB服务端模块连接,从而为所述非分布式服务消费方及所述分布式服务提供方提供中介服务;
所述集中式ESB模块,还用于与ESB消费端模块连接,从而为所述非分布式服务提供方及所述分布式服务消费方提供中介服务;
所述中介服务包括但不限于服务发布、报文转发、服务注册和服务寻址;
所述配置中心,用于实现对所述ESB消费端模块、所述ESB服务端模块和所述集中式ESB模块的管理,及实现对服务发布、服务注册和服务寻址的管理;
所述ESB消费端模块、所述ESB服务端模块、所述集中式ESB模块三者之间使用标准规范报文进行交互;其中,所述标准规范报文为符合标准XML格式规范且满足企业内部要素要求的报文;
所述ESB消费端模块,还用于在接收到与其交互的分布式服务消费方发来的第一服务调用请求时,根据所述第一服务调用请求向所述配置中心请求所调用的第一服务的路由信息,并根据所述第一服务的路由信息,将所述第一服务调用请求发送至与所述第一服务的服务提供方交互的第一中介,以调用所述第一服务;
所述集中式ESB模块,还用于在接收到所述第一服务调用请求时,对所述第一服务调用请求进行逻辑处理,得到处理后的第一服务调用请求,并判断所述第一服务的服务提供方的报文规范是否为标准规范,若是,则将所述处理后的第一服务调用请求发送至所述第一服务的服务提供方,以调用所述第一服务,若否,则将所述处理后的第一服务调用请求转换为符合所述第一服务的服务提供方的报文规范的报文后发送至所述第一服务的服务提供方,以调用所述第一服务;还用于在调用所述第一服务后,接收所述第一服务的服务提供方返回的处理结果,将其转换为标准规范报文格式并进行逻辑处理后返回至所述ESB消费端模块;
所述集中式ESB模块,还用于在接收到与其交互的非分布式服务消费方发来的第二服务调用请求时,判断所述第二服务调用请求是否为标准规范报文,若是,则对所述第二服务调用请求进行逻辑处理,得到处理后的第二服务调用请求,若否,则对所述第二服务调用请求进行标准规范报文格式转换,以得到转换后的第二服务调用请求,并对所述转换后的第二服务请求进行逻辑处理,得到转换并处理后的第二服务请求;还用于根据所述处理后的第二服务调用请求或所述转换并处理后的第二服务请求,向所述配置中心请求所调用的第二服务的路由信息,并根据所述第二服务的路由信息,判断与所述第二服务的服务提供方交互的第二中介是否为其自身,若是,则根据所述处理后的第二服务调用请求或所述转换并处理后的第二服务请求调用所述第二服务,接收所述第二服务的非分布式服务提供方返回的处理结果,并将所述第二服务的非分布式服务提供方返回的处理结果转换为符合所述第二服务的非分布式服务消费方的报文规范的报文后返回至所述第二服务的非分布式服务消费方,若否,则将所述处理后的第二服务调用请求或所述转换并处理后的第二服务请求发送至所述第二中介,以调用所述第二服务;
所述ESB服务端模块,还用于在调用与其交互的分布式服务提供方提供的服务后,接收所述与其交互的分布式服务提供方返回的处理结果,并将其进行逻辑处理后返回至相应的服务消费方的代理;
所述ESB消费端模块,还用于在接收到所述ESB服务端模块或所述集中式ESB模块返回的处理结果时,将所述ESB服务端模块或所述集中式ESB模块返回的处理结果进行逻辑处理后返回至与其交互的分布式服务消费方;
所述集中式ESB模块,还用于在接收到所述ESB服务端模块返回的处理结果时,将所述ESB服务端模块返回的处理结果转换为符合相应的非分布式服务消费方的报文规范的报文后返回至所述相应的非分布式服务消费方;
所述ESB服务端模块和所述集中式ESB模块通过向配置中心发送所需注册服务的配置信息以进行服务注册。
作为上述方案的改进,所述ESB服务端模块,还用于在所述企业服务总线系统启动时,将其自身的节点信息发送至所述配置中心,以使得所述配置中心根据所述ESB服务端模块的节点信息注册所述ESB服务端模块;其中,所述ESB服务端模块的节点信息包括但不限于所述ESB服务端模块提供的服务及其自身的IP端口信息和版本信息;
所述集中式ESB模块,还用于在所述企业服务总线系统启动时,将其自身的节点信息发送至所述配置中心,以使得所述配置中心根据所述集中式ESB模块的节点信息注册所述集中式ESB模块;其中,所述集中式ESB模块的节点信息包括但不限于所述集中式ESB模块提供的服务及其自身的IP端口信息和版本信息;
所述ESB消费端模块,还用于在所述企业服务总线系统启动时,将其自身的节点信息发送至所述配置中心,以使得所述配置中心根据所述ESB消费端模块的节点信息注册所述ESB消费端模块;其中,所述ESB消费端模块的节点信息包括但不限于所述ESB消费端模块的IP端口信息和版本信息。
作为上述方案的改进,所述企业服务总线系统还包括日志中心;其中,
所述日志中心,用于记录所述企业服务总线系统在运行时产生的平台日志和服务消费时的产生的业务日志。
作为上述方案的改进,所述企业服务总线系统还包括监控中心;其中,
所述监控中心,用于根据预设分析条件,对所述企业服务总线系统的系统资源信息及所述日志中心内记录的所述平台日志和所述业务日志进行分析,得到分析结果;还用于根据所述分析结果,生成负载均衡策略,并将所述负载均衡策略发送至所述ESB服务端模块和所述集中式ESB模块,以使得所述ESB服务端模块和所述集中式ESB模块在调用服务时,采用所述负载均衡策略调用服务。
作为上述方案的改进,所述监控中心,还用于对所述企业服务总线系统中的终端节点进行故障检测,并在检测到所述终端节点发生故障时,隔离所述终端节点;其中,所述终端节点包括所述ESB服务端模块、所述集中式ESB模块和所述ESB消费端模块。
与现有技术相比,本发明实施例提供的一种企业服务总线系统,包括N个ESB消费端模块、M个ESB服务端模块、集中式ESB模块和配置中心,能够通过ESB消费端模块接入分布式服务消费方,通过ESB服务端模块接入分布式服务提供方,通过集中式ESB模块接入非分布式服务消费方和非分布式服务提供方,由于集中式ESB模块在进行处理时都会首先把接收到的报文转换为标准规范报文再进行其他处理,而ESB消费端模块和ESB服务端模块间也是使用标准规范报文进行交互,因此可以实现集中式ESB模块与ESB消费端模块及ESB服务端模块之间的对接和交互,从而实现分布式服务消费方与分布式服务提供方或非分布式服务提供方之间的交互、及非分布式服务消费方与分布式服务提供方或非分布式服务提供方之间的交互,能够最大程度复用现有资源,通过配置即可实现对接而无需重新进行程序开发,能实现分布式ESB架构与传统的集中式ESB架构之间的兼容,很好地解决了已有系统和新的分布式微服务系统的融合问题。
附图说明
图1是本发明提供的企业服务总线系统的一个实施例的结构示意图。
图2是本发明提供的企业服务总线系统的另一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本技术领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明提供的企业服务总线系统的一个实施例的结构示意图。
本发明实施例提供一种企业服务总线系统,包括N个ESB消费端模块1、M个ESB服务端模块2、集中式ESB模块3和配置中心4;其中,N和M均为正整数;
所述ESB服务端模块2,用于作为分布式服务提供方的接出,实现服务注册与发布、接口适配、服务安全管理、服务质量保障、流量控制和超时处理;
所述ESB消费端模块1,用于作为分布式服务消费方的接入,实现服务寻址路由、负载均衡、服务安全和接口适配;
所述集中式ESB模块3,用于为传统的非分布式服务消费方及传统的非分布式服务提供方提供中介服务;
所述集中式ESB模块3,还用于与所述ESB服务端模块2连接,从而为所述非分布式服务消费方及所述分布式服务提供方提供中介服务;
所述集中式ESB模块3,还用于与ESB消费端模块1连接,从而为所述非分布式服务提供方及所述分布式服务消费方提供中介服务;
所述中介服务包括但不限于服务发布、报文转发、服务注册和服务寻址;
所述配置中心4,用于实现对所述ESB消费端模块1、所述ESB服务端模块2和所述集中式ESB模块3的管理,及实现对服务发布、服务注册和服务寻址的管理;
所述ESB消费端模块1、所述ESB服务端模块2、所述集中式ESB模块3三者之间使用标准规范报文进行交互;其中,所述标准规范报文为符合标准XML格式规范且满足企业内部要素要求的报文;
所述ESB消费端模块1,还用于在接收到与其交互的分布式服务消费方发来的第一服务调用请求时,根据所述第一服务调用请求向所述配置中心4请求所调用的第一服务的路由信息,并根据所述第一服务的路由信息,将所述第一服务调用请求发送至与所述第一服务的服务提供方交互的第一中介,以调用所述第一服务;
所述集中式ESB模块3,还用于在接收到所述第一服务调用请求时,对所述第一服务调用请求进行逻辑处理,得到处理后的第一服务调用请求,并判断所述第一服务的服务提供方的报文规范是否为标准规范,若是,则将所述处理后的第一服务调用请求发送至所述第一服务的服务提供方,以调用所述第一服务,若否,则将所述处理后的第一服务调用请求转换为符合所述第一服务的服务提供方的报文规范的报文后发送至所述第一服务的服务提供方,以调用所述第一服务;还用于在调用所述第一服务后,接收所述第一服务的服务提供方返回的处理结果,将其转换为标准规范报文格式并进行逻辑处理后返回至所述ESB消费端模块1;
所述集中式ESB模块3,还用于在接收到与其交互的非分布式服务消费方发来的第二服务调用请求时,判断所述第二服务调用请求是否为标准规范报文,若是,则对所述第二服务调用请求进行逻辑处理,得到处理后的第二服务调用请求,若否,则对所述第二服务调用请求进行标准规范报文格式转换,以得到转换后的第二服务调用请求,并对所述转换后的第二服务请求进行逻辑处理,得到转换并处理后的第二服务请求;还用于根据所述处理后的第二服务调用请求或所述转换并处理后的第二服务请求,向所述配置中心4请求所调用的第二服务的路由信息,并根据所述第二服务的路由信息,判断与所述第二服务的服务提供方交互的第二中介是否为其自身,若是,则根据所述处理后的第二服务调用请求或所述转换并处理后的第二服务请求调用所述第二服务,接收所述第二服务的非分布式服务提供方返回的处理结果,并将所述第二服务的非分布式服务提供方返回的处理结果转换为符合所述第二服务的非分布式服务消费方的报文规范的报文后返回至所述第二服务的非分布式服务消费方,若否,则将所述处理后的第二服务调用请求或所述转换并处理后的第二服务请求发送至所述第二中介,以调用所述第二服务;
所述ESB服务端模块2,还用于在调用与其交互的分布式服务提供方提供的服务后,接收所述与其交互的分布式服务提供方返回的处理结果,并将其进行逻辑处理后返回至相应的服务消费方的代理;
所述ESB消费端模块1,还用于在接收到所述ESB服务端模块2或所述集中式ESB模块3返回的处理结果时,将所述ESB服务端模块2或所述集中式ESB模块3返回的处理结果进行逻辑处理后返回至与其交互的分布式服务消费方;
所述集中式ESB模块3,还用于在接收到所述ESB服务端模块2返回的处理结果时,将所述ESB服务端模块2返回的处理结果转换为符合相应的非分布式服务消费方的报文规范的报文后返回至所述相应的非分布式服务消费方;
所述ESB服务端模块2和所述集中式ESB模块3通过向配置中心4发送所需注册服务的配置信息以进行服务注册。
优选地,所述配置中心4,还用于发布所述ESB服务端模块2和所述集中式ESB模块3所注册的服务。
优选地,所述ESB服务端模块2,通过对接收到的服务调用请求进行逻辑处理,并发送至与其交互的分布式服务提供方,从而调用相应的服务。
可以理解的,与所述第一服务的服务提供方交互的第一中介为集中式ESB模块3或某个ESB服务端模块2,与所述第二服务的服务提供方交互的第二中介为集中式ESB模块3或某个ESB服务端模块2。
可以理解的,进行逻辑处理的方法有多种,例如根据预定的业务逻辑进行处理等。
需要说明的是,在具体实施时,N和M可以是根据实际情况进行设定,只要为正整数即可,在此不做限定。
可以理解的,在该企业服务总线系统中,可以将每个ESB消费端模块1、每个ESB服务端模块2和集中式ESB模块3单独看作一个终端节点,每个终端节点之间相互连接,且每个终端节点均与配置中心4连接。如图1所示,图1中表示两个虚线框内的所有ESB消费端模块1和所有ESB服务端模块2均与配置中心4连接,且集中式ESB模块3也与配置中心4连接。
需要说明的是,ESB消费端模块1和ESB服务端模块2是分布式ESB组件,属于分布式ESB架构的组成部分,与ESB消费端模块1连接的服务消费方可以看做是分布式服务消费方,与ESB服务端模块2连接的服务提供方可以看做是分布式服务提供方,每个ESB消费端模块1只连接一个分布式服务消费方,每个ESB服务端模块2只连接一个分布式服务提供方。分布式服务消费方和分布式服务提供方是指新建的分布式微服务系统或者存量的可以比较方便进行分布式微服务改造的系统。ESB消费端模块1通过嵌入、本地调用和远程调用的方式与分布式服务的服务消费方系统进行交互,能够实现服务寻址路由、负载均衡以及服务安全、接口适配等功能。ESB服务端模块2通过嵌入、本地调用和远程调用的方式与分布式服务的服务提供方系统进行交互,能够实现服务注册与发布、接口适配、服务安全、服务质量保障(服务优先级、故障隔离)以及流量控制机制和超时机制等功能。其中,嵌入方式指的是分布式ESB组件和涉及应用同时启动,属于同一个虚拟机中;本地调用方式指的是分布式ESB组件和涉及应用部署在同一台机器中,通过本地端口调用涉及方服务;远程调用方式指的是分布式ESB组件和涉及应用部署在不同的机器中,通过远程端口调用涉及方服务。
可以理解的,与集中式ESB模块3连接的非分布式服务消费方可以看做是传统式服务消费方,与集中式ESB模块3连接的非分布式服务提供方可以看做是传统式服务提供方,集中式ESB模块3可以是同时连接一个或一个以上的非分布式服务消费方及一个或一个以上的非分布式服务提供方。其中,传统式服务消费方和传统式服务提供方是指存量的无法做分布式微服务改造或者进行分布式微服务改造代价过高不打算进行改造的系统。集中式ESB模块3可以实现传统ESB功能,为传统SOA(Service-Oriented Architecture,面向服务的架构)的消费方和服务方提供中介。例如在通信方面,集中式ESB模块3能够支持消息路由/寻址,支持多种通信技术、通信协议(如JMS、HTTP),支持发布/订阅的通信模式,能够处理请求/响应、同步以及异步的消息传递方式,并且要求以可靠的方式传递消息;在服务交互方面,集中式ESB模块3上所发布的服务是以当前标准的Web服务描述语言(WebServicesDescriptionLanguage)来定义Web服务的,并且配备有服务目录和发现机制;以及,能够集成不同的系统,能够支持多种接入方式,并将接入的系统映射成Web服务。
需要说明的是,配置中心4除了能用于服务的发布、注册外,还能用于对N个ESB消费端模块1、M个ESB服务端模块2和集中式ESB模块3的管理。配置中心4通过Zookeeper或者Eureka或者类似工具能够实现与各个终端节点配置的同步。其中,Eureka本身是Netflix开源的一款提供服务注册和发现的产品,并且提供了相应的Java封装,在它的实现中,节点之间相互平等,部分配置中心的节点挂掉也不会对集群造成影响,即使集群只剩一个节点存活,也可以正常提供发现服务。哪怕是所有的服务注册节点都挂了,Eureka Clients(客户端)上也会缓存服务调用的信息。这就保证了我们微服务之间的互相调用足够健壮。Zookeeper主要为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册,其曾经是Hadoop项目中的一个子项目,用来控制集群中的数据,目前已升级为独立的顶级项目,很多场景下也用它作为Service发现服务解决方案。
可以理解的,ESB服务端模块2是在检测到与其连接的服务提供方提供的服务时,向配置中心4注册与其连接的服务提供方提供的服务;集中式ESB模块3在检测到与其连接的服务提供方提供的服务时,向配置中心4注册与其连接的服务提供方提供的服务。
需要说明的是,ESB消费端模块1和集中式ESB模块3均可以通过配置中心4的服务路由功能来获取某个服务调用请求对应的服务的路由信息,并且,均可根据某个服务的路由信息来确定与该服务的服务提供方连接的模块是集中式ESB模块3还是某个ESB服务端模块2。其中,所述路由信息可以是包括服务路由的地址和协议。
具体的,所述ESB服务端模块2,在调用与其连接的服务提供方提供的服务后的处理流程包括:
S11、接收与其连接的服务提供方返回的处理结果;
S12、进行一定的逻辑处理(如日志记录、状态更新等);
S13、将所述处理结果返回至所述处理结果对应的服务消费方代理,即ESB消费端模块1或者集中式ESB模块3。
所述ESB消费端模块1,接收与其连接的服务提供方代理(ESB服务端模块2或者集中式ESB模块3)返回的处理结果后,在进行一定的逻辑处理后直接把处理结果返回给与其连接的服务消费方。
具体的,当所述集中式ESB模块3作为服务消费方代理连接ESB服务端模块2时,所述集中式ESB模块3处理流程包括:
S21、接收到消费方的服务调用;
S22、判断服务调用方报文是否为标准规范报文,如果是标准规范报文转S24处理,否则转S23;
S23、把报文转换为标准规范报文;
S24、进行一定的逻辑处理(如日志记录、状态更新等);
S25、由集中式ESB模块3把标准报文转换为消费方所识别的报文后返回给消费方。
具体的,当所述集中式ESB模块3作为服务提供方代理连接ESB消费端模块1时,所述集中式ESB模块3接收到ESB消费方的服务调用时其处理流程包括:
S31、进行一定的逻辑处理(如日志记录、状态更新等);
S32、判断服务消费方报文规范是否为标准规范报文,如果是则转S34处理,否则转S33;
S33由集中式ESB模块3把报文转换为标准规范报文;
S34、集中式ESB模块3把处理结果返回给ESB消费端模块。
可以理解的,本发明实施例提供的一种企业服务总线系统,由于能够通过ESB消费端1模块接入分布式服务消费方,通过ESB服务端模块2接入分布式服务提供方,通过集中式ESB模块3接入非分布式服务消费方和非分布式服务提供方,由于集中式ESB模块3在进行处理时都会首先把报文转换为标准规范报文再进行其他处理。当本系统首先用于传统业务时,具体地为首先使用到集中式ESB模块3时,因为所有的逻辑处理都是针对标准规范报文处理,当后续跟ESB消费端模块1及ESB服务端模块2对接时,可以最大程度复用现有资源,通过配置即可实现对接而无需重新进行程序开发。同样地,当本系统首先用于分布式系统时时,具体地为首先使用到ESB消费端模块1及ESB服务端模块2,因为逻辑处理已经ESB服务端模块2实现并且通过标准规范报文返回,因此后续使用传统ESB对接时,如果使用非标准规范报文的情况下只需要进行报文转换即可,最大程度减少程序开发工作量。因此能实现分布式ESB架构与传统的集中式ESB架构之间的兼容,很好地解决了已有系统和新的分布式微服务系统的融合问题。
优选地,所述ESB服务端模块2,还用于在所述企业服务总线系统启动时,将其自身的节点信息发送至所述配置中心4,以使得所述配置中心4根据所述ESB服务端模块的节点信息注册所述ESB服务端模块2;其中,所述ESB服务端模块2的节点信息包括所述ESB服务端模块2提供的服务及其自身的IP端口信息和版本信息;
所述集中式ESB模块3,还用于在所述企业服务总线系统启动时,将其自身的节点信息发送至所述配置中心4,以使得所述配置中心4根据所述集中式ESB模块3的节点信息注册所述集中式ESB模块4;其中,所述集中式ESB模块4的节点信息包括所述集中式ESB模块4提供的服务及其自身的IP端口信息和版本信息;
所述ESB消费端模块1,还用于在所述企业服务总线系统启动时,将其自身的节点信息发送至所述配置中心4,以使得所述配置中心根据所述ESB消费端模块1的节点信息注册所述ESB消费端模块;其中,所述ESB消费端模块的节点信息包括所述ESB消费端模块的IP端口信息和版本信息。
优选地,作为消费方的所述集中式ESB模块3或者ESB消费端1需要发起服务调用时,将向配置中心4请求所调用服务的路由信息缓存在本地,并根据一定规则维护对缓存的路由信息进行维护,使得在请求相同的服务调用路由信息时直接通过缓存获取,而非每次都去配置中心4获取,以减少跟配置中心4交互的时间开销,提高处理效率。
作为优选实施方式,参见图2,所述企业服务总线系统还包括日志中心5;其中,
所述日志中心5,用于记录所述企业服务总线系统在运行时产生的平台日志和服务消费时的产生的业务日志。
其中,如图2所示,图2中表示两个虚线框的所有ESB消费端模块1和所有ESB服务端模块2均与日志中心5连接,且日志中心5也与集中式ESB模块3连接。日志中心5包括日志代理程序和日志管理平台,主要负责记录所述企业服务总线系统在运行时产生的平台日志和服务消费时的产生的业务日志,并汇总到以用于分析和统一查看。
进一步地,参见图2,所述企业服务总线系统还包括监控中心6;其中,
所述监控中心6,用于根据预设分析条件,对所述企业服务总线系统的系统资源信息及所述日志中心5内记录的所述平台日志和所述业务日志进行分析,得到分析结果;还用于根据所述分析结果,生成负载均衡策略,并将所述负载均衡策略发送至所述ESB服务端模块2和所述集中式ESB模块3,以使得所述ESB服务端模块2和所述集中式ESB模块3在调用服务时,采用所述负载均衡策略调用服务。
其中,如图2所示,图2中表示两个虚线框的所有ESB消费端模块1和所有ESB服务端模块2均与监控中心6连接,且集中式ESB模块3也与监控中心6连接。负载均衡策略包括轮询、最小连接数、权重设置以及动态均在均衡策略。监控中心6生成负载均衡策略,并将所述负载均衡策略发送至所述ESB服务端模块2和所述集中式ESB模块3,以使得所述ESB服务端模块2和所述集中式ESB模块3在调用服务时,采用所述负载均衡策略调用服务,从而能有效提高系统的运行性能。
更进一步地,所述监控中心6,还用于对所述企业服务总线系统中的终端节点进行故障检测,并在检测到所述终端节点发生故障时,隔离所述终端节点;其中,所述终端节点包括所述ESB服务端模块2、所述集中式ESB模块3和所述ESB消费端模块1。
其中,监控中心6对所述企业服务总线系统中的终端节点进行故障检测,并在检测到所述终端节点发生故障时,隔离所述终端节点,从而能有效提高系统的服务质量。本发明实施例提供的一种企业服务总线系统,由于能够通过ESB消费端模块接入分布式服务消费方,通过ESB服务端模块接入分布式服务提供方,通过集中式ESB模块接入传统式服务消费方和传统式服务提供方,因此能同时支持分布式服务消费方、分布式服务提供方、传统式服务消费方和传统式服务提供方的接入,并且,能通过ESB消费端模块、ESB服务端模块和集中式ESB模块实现分布式服务消费方与分布式服务提供方或传统式服务提供方之间的服务交互,及传统式服务消费方与分布式服务提供方或传统式服务提供方之间的服务交互,因此能实现分布式ESB架构与传统的集中式ESB架构之间的兼容,很好地解决了已有系统和新的分布式微服务系统的融合问题。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (5)
1.一种企业服务总线系统,其特征在于,包括N个ESB消费端模块、M个ESB服务端模块、集中式ESB模块和配置中心;其中,N和M均为正整数;
所述ESB服务端模块,用于作为分布式服务提供方的接出,实现服务注册与发布、接口适配、服务安全管理、服务质量保障、流量控制和超时处理;
所述ESB消费端模块,用于作为分布式服务消费方的接入,实现服务寻址路由、负载均衡、服务安全和接口适配;
所述集中式ESB模块,用于为传统的非分布式服务消费方及传统的非分布式服务提供方提供中介服务;
所述集中式ESB模块,还用于与所述ESB服务端模块连接,从而为所述非分布式服务消费方及所述分布式服务提供方提供中介服务;
所述集中式ESB模块,还用于与ESB消费端模块连接,从而为所述非分布式服务提供方及所述分布式服务消费方提供中介服务;
所述中介服务包括但不限于服务发布、报文转发、服务注册和服务寻址;
所述配置中心,用于实现对所述ESB消费端模块、所述ESB服务端模块和所述集中式ESB模块的管理,及实现对服务发布、服务注册和服务寻址的管理;
所述ESB消费端模块、所述ESB服务端模块、所述集中式ESB模块三者之间使用标准规范报文进行交互;其中,所述标准规范报文为符合标准XML格式规范且满足企业内部要素要求的报文;
所述ESB消费端模块,还用于在接收到与其交互的分布式服务消费方发来的第一服务调用请求时,根据所述第一服务调用请求向所述配置中心请求所调用的第一服务的路由信息,并根据所述第一服务的路由信息,将所述第一服务调用请求发送至与所述第一服务的服务提供方交互的第一中介,以调用所述第一服务;
所述集中式ESB模块,还用于在接收到所述第一服务调用请求时,对所述第一服务调用请求进行逻辑处理,得到处理后的第一服务调用请求,并判断所述第一服务的服务提供方的报文规范是否为标准规范,若是,则将所述处理后的第一服务调用请求发送至所述第一服务的服务提供方,以调用所述第一服务,若否,则将所述处理后的第一服务调用请求转换为符合所述第一服务的服务提供方的报文规范的报文后发送至所述第一服务的服务提供方,以调用所述第一服务;还用于在调用所述第一服务后,接收所述第一服务的服务提供方返回的处理结果,将其转换为标准规范报文格式并进行逻辑处理后返回至所述ESB消费端模块;
所述集中式ESB模块,还用于在接收到与其交互的非分布式服务消费方发来的第二服务调用请求时,判断所述第二服务调用请求是否为标准规范报文,若是,则对所述第二服务调用请求进行逻辑处理,得到处理后的第二服务调用请求,若否,则对所述第二服务调用请求进行标准规范报文格式转换,以得到转换后的第二服务调用请求,并对所述转换后的第二服务请求进行逻辑处理,得到转换并处理后的第二服务请求;还用于根据所述处理后的第二服务调用请求或所述转换并处理后的第二服务请求,向所述配置中心请求所调用的第二服务的路由信息,并根据所述第二服务的路由信息,判断与所述第二服务的服务提供方交互的第二中介是否为其自身,若是,则根据所述处理后的第二服务调用请求或所述转换并处理后的第二服务请求调用所述第二服务,接收所述第二服务的非分布式服务提供方返回的处理结果,并将所述第二服务的非分布式服务提供方返回的处理结果转换为符合所述第二服务的非分布式服务消费方的报文规范的报文后返回至所述第二服务的非分布式服务消费方,若否,则将所述处理后的第二服务调用请求或所述转换并处理后的第二服务请求发送至所述第二中介,以调用所述第二服务;
所述ESB服务端模块,还用于在调用与其交互的分布式服务提供方提供的服务后,接收所述与其交互的分布式服务提供方返回的处理结果,并将其进行逻辑处理后返回至相应的服务消费方的代理;
所述ESB消费端模块,还用于在接收到所述ESB服务端模块或所述集中式ESB模块返回的处理结果时,将所述ESB服务端模块或所述集中式ESB模块返回的处理结果进行逻辑处理后返回至与其交互的分布式服务消费方;
所述集中式ESB模块,还用于在接收到所述ESB服务端模块返回的处理结果时,将所述ESB服务端模块返回的处理结果转换为符合相应的非分布式服务消费方的报文规范的报文后返回至所述相应的非分布式服务消费方;
所述ESB服务端模块和所述集中式ESB模块通过向配置中心发送所需注册服务的配置信息以进行服务注册。
2.如权利要求1所述的企业服务总线系统,其特征在于,所述ESB服务端模块,还用于在所述企业服务总线系统启动时,将其自身的节点信息发送至所述配置中心,以使得所述配置中心根据所述ESB服务端模块的节点信息注册所述E SB服务端模块;其中,所述ESB服务端模块的节点信息包括所述ESB服务端模块提供的服务及其自身的IP端口信息和版本信息;
所述集中式ESB模块,还用于在所述企业服务总线系统启动时,将其自身的节点信息发送至所述配置中心,以使得所述配置中心根据所述集中式ESB模块的节点信息注册所述集中式ESB模块;其中,所述集中式ESB模块的节点信息包括所述集中式ESB模块提供的服务及其自身的IP端口信息和版本信息;
所述ESB消费端模块,还用于在所述企业服务总线系统启动时,将其自身的节点信息发送至所述配置中心,以使得所述配置中心根据所述ESB消费端模块的节点信息注册所述ESB消费端模块;其中,所述ESB消费端模块的节点信息包括所述ESB消费端模块的IP端口信息和版本信息。
3.如权利要求1所述的企业服务总线系统,其特征在于,所述企业服务总线系统还包括日志中心;其中,
所述日志中心,用于记录所述企业服务总线系统在运行时产生的平台日志和服务消费时的产生的业务日志。
4.如权利要求3所述的企业服务总线系统,其特征在于,所述企业服务总线系统还包括监控中心;其中,
所述监控中心,用于根据预设分析条件,对所述企业服务总线系统的系统资源信息及所述日志中心内记录的所述平台日志和所述业务日志进行分析,得到分析结果;还用于根据所述分析结果,生成负载均衡策略,并将所述负载均衡策略发送至所述ESB服务端模块和所述集中式ESB模块,以使得所述ESB服务端模块和所述集中式ESB模块在调用服务时,采用所述负载均衡策略调用服务。
5.如权利要求4所述的企业服务总线系统,其特征在于,所述监控中心,还用于对所述企业服务总线系统中的终端节点进行故障检测,并在检测到所述终端节点发生故障时,隔离所述终端节点;其中,所述终端节点包括所述ESB服务端模块、所述集中式ESB模块和所述ESB消费端模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911394614.1A CN111163166B (zh) | 2019-12-30 | 2019-12-30 | 一种企业服务总线系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911394614.1A CN111163166B (zh) | 2019-12-30 | 2019-12-30 | 一种企业服务总线系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111163166A CN111163166A (zh) | 2020-05-15 |
CN111163166B true CN111163166B (zh) | 2022-03-22 |
Family
ID=70559100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911394614.1A Active CN111163166B (zh) | 2019-12-30 | 2019-12-30 | 一种企业服务总线系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111163166B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113486629A (zh) * | 2020-12-31 | 2021-10-08 | 易百信息技术(上海)股份有限公司 | 用于对接第三方系统的企业服务总线的应用方法和系统 |
CN112822080B (zh) * | 2020-12-31 | 2022-09-16 | 中国人寿保险股份有限公司上海数据中心 | 一种基于soa架构的总线系统 |
CN113055470B (zh) * | 2021-03-10 | 2023-04-28 | 中国建设银行股份有限公司 | 服务请求分发方法和系统 |
CN113067885B (zh) * | 2021-03-31 | 2024-02-27 | 中国建设银行股份有限公司 | 应用系统、请求处理方法、电子设备及存储介质 |
CN113011856B (zh) * | 2021-04-16 | 2024-04-19 | 新奥数能科技有限公司 | 能源企业线上入驻方法、装置、电子设备和介质 |
CN114500646B (zh) * | 2021-12-20 | 2024-04-26 | 上海浦东发展银行股份有限公司 | 一种去中心化的esb云平台系统及其服务调用方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158548A (zh) * | 2011-03-02 | 2011-08-17 | 山东中创软件工程股份有限公司 | 一种企业服务总线接入外部服务的方法 |
CN102882934A (zh) * | 2012-09-05 | 2013-01-16 | 浪潮(北京)电子信息产业有限公司 | 基于ESB的Web服务实现方法、ESB和服务中心 |
CN103401917A (zh) * | 2013-07-29 | 2013-11-20 | 华南理工大学 | 一种基于云总线的混合云计算系统及其实现方法 |
CN103873332A (zh) * | 2014-03-28 | 2014-06-18 | 浪潮软件集团有限公司 | 一种税务系统提供统一服务环境的企业服务总线的方法 |
CN104391701A (zh) * | 2014-11-11 | 2015-03-04 | 国家电网公司 | 一种能效评估软件开发方法 |
EP2945349A1 (en) * | 2014-05-15 | 2015-11-18 | Amadeus S.A.S. | Computer implemented gateway |
CN105657053A (zh) * | 2016-03-04 | 2016-06-08 | 浪潮软件集团有限公司 | 基于soa架构的数据集成交换平台 |
CN106201498A (zh) * | 2016-06-29 | 2016-12-07 | 浙江理工大学 | 一种分布式多层soa集成应用系统 |
CN106503137A (zh) * | 2016-10-20 | 2017-03-15 | 航天恒星科技有限公司 | 基于esb的多格式gis服务接入装置及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7991840B2 (en) * | 2008-01-24 | 2011-08-02 | International Business Machines Corporation | System and product for role-based tag management for collaborative services integrated within an SOA |
US20180227369A1 (en) * | 2017-02-09 | 2018-08-09 | Kaiser Foundation Hospitals | Converged service computing platform |
-
2019
- 2019-12-30 CN CN201911394614.1A patent/CN111163166B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158548A (zh) * | 2011-03-02 | 2011-08-17 | 山东中创软件工程股份有限公司 | 一种企业服务总线接入外部服务的方法 |
CN102882934A (zh) * | 2012-09-05 | 2013-01-16 | 浪潮(北京)电子信息产业有限公司 | 基于ESB的Web服务实现方法、ESB和服务中心 |
CN103401917A (zh) * | 2013-07-29 | 2013-11-20 | 华南理工大学 | 一种基于云总线的混合云计算系统及其实现方法 |
CN103873332A (zh) * | 2014-03-28 | 2014-06-18 | 浪潮软件集团有限公司 | 一种税务系统提供统一服务环境的企业服务总线的方法 |
EP2945349A1 (en) * | 2014-05-15 | 2015-11-18 | Amadeus S.A.S. | Computer implemented gateway |
CN104391701A (zh) * | 2014-11-11 | 2015-03-04 | 国家电网公司 | 一种能效评估软件开发方法 |
CN105657053A (zh) * | 2016-03-04 | 2016-06-08 | 浪潮软件集团有限公司 | 基于soa架构的数据集成交换平台 |
CN106201498A (zh) * | 2016-06-29 | 2016-12-07 | 浙江理工大学 | 一种分布式多层soa集成应用系统 |
CN106503137A (zh) * | 2016-10-20 | 2017-03-15 | 航天恒星科技有限公司 | 基于esb的多格式gis服务接入装置及系统 |
Non-Patent Citations (3)
Title |
---|
"ESB与EAI相结合的系统集成实现";IT微课堂;《搜狐》;20170606;全文 * |
"企业级集成和ESB";skyme;《博客园》;20111103;全文 * |
"分布式企业服务总线的设计与实现";符宁,周兴社,杨刚;《计算机工程》;20071231;第33卷(第24期);第118-120页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111163166A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111163166B (zh) | 一种企业服务总线系统 | |
US9479400B2 (en) | Servlet API and method for XMPP protocol | |
CN101124565B (zh) | 基于应用层消息的数据流量负载平衡 | |
US9961143B2 (en) | Providing enhanced data retrieval from remote locations | |
KR100694155B1 (ko) | 웹서비스를 통해 홈 네트워크 기기의 서비스를 홈 네트워크외부에 제공하는 방법 및 장치 | |
JP3980596B2 (ja) | サーバを遠隔かつ動的に構成する方法およびシステム | |
US8301687B2 (en) | Systems and/or methods for standards-based messaging | |
CN112104754B (zh) | 网络代理方法、系统、装置、设备及存储介质 | |
CN109451014B (zh) | 一种WebService代理系统及其透明代理方法 | |
US10187458B2 (en) | Providing enhanced access to remote services | |
CN101099345A (zh) | 利用采样和试探在网络元件处解释应用消息 | |
CN113301166A (zh) | 服务的调用方法及装置、存储介质、电子装置 | |
CN110417782B (zh) | 一种用于智能硬件消息传输的系统、方法及可读介质 | |
CN116633775B (zh) | 一种多容器网络接口的容器通信方法及系统 | |
CN113821335A (zh) | 一种数据处理的方法、装置和存储介质 | |
Indrasiri | Microservices in pratice-key architectural concepts of an msa | |
CN116633993B (zh) | 跨网络调用微服务方法、装置、设备及存储介质 | |
US20020069257A1 (en) | Provisioning mechanism for a service gateway | |
WO2012119340A1 (zh) | 一种实现北向接口的方法及装置 | |
Pan et al. | Design and performance evaluation of a service-oriented HLA RTI on the grid | |
CN115632815A (zh) | 一种数据的更新方法、装置、电子设备及存储介质 | |
CN102918811B (zh) | 双向通信系统和用于该系统的服务器装置 | |
US8312154B1 (en) | Providing enhanced access to remote services | |
CN115516842A (zh) | 编排代理服务 | |
CN114500646B (zh) | 一种去中心化的esb云平台系统及其服务调用方法 |
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 |