数据总线是否就是ESB服务总线,从企业应用集成场景说起
ccwgpt 2024-12-16 11:22 119 浏览 0 评论
最近经常听到有人说数据总线的概念,因此今天做下对这个概念的进一步解释和说明。在我前面头条文章中可以看到,对于传统企业内部的应用集成,我一般只会用两个概念,一个是SOA集成平台,一个是ESB企业服务总线,基本不会用数据总线这个概念。
要谈数据总线,还是先回顾下企业内应用集成场景。
企业集成场景和服务实现
对于ESB服务总线,估计大家都清楚更多的是适合承载业务服务,而有业务服务的一个典型特点就是粗粒度,业务并发量可能很大,但是服务本身本次传递的数据量不大,而是调用时间快的话连接资源和内存资源都可以做到快速释放,因此不会对ESB总线本身造成太大的性能压力。
业务交互的实时性
如果ESB总线更多的是承载业务服务和应用集成的话,那么大部分服务都应该是实时调用和交互,其中又有两个场景,一个是业务单据在生效后实时分发到下游的业务系统(该情况下数据落地);另外一个场景就是实时的查询其它业务系统的外部服务能力(在这种情况下数据不落地)。
对于实时交互的服务往往数据量都不应该太多,完全属于ESB服务总线采用WS服务能够解决的范畴,当然你既可以使用SOAP WS也可以使用Rest WS都可以。对于模糊查询数据不落地场景,则可能数据量大,在这种情况下往往采用分页服务的方式来解决性能问题。
对于没有业务实时性要求的场景,往往更多走的是数据集成和同步,类似传统的数据交换,因此这类服务更多的是走数据服务模式,不论是查询服务或者导入服务,都可以作为定时服务进行。这也是传统企业在业务系统间进行接口集成最常用的方式,但是带来最明显的问题就是业务实时性无法满足要求,并可能导致同一时点数据在多个系统间不一致的情况。
服务调用并发量和数据量
服务调用并发量也是我们衡量服务实现方式的一个关键考虑因素,对于大并发调用的服务虽然也可以采用类似ESB服务中的缓存机制提升性能。但是更多的仍然要考虑在大并发情况下对端目标系统本身的承载能力。对于并发量大的服务调用,如果数据量小往往响应时间容易控制。但是如果数据量很大,则整个服务连接保持时间长,同时JVM内存消耗巨大,这样很容易导致ESB JVM内存溢出的场景错误。
因此对于数据量大的服务调用往往并不推荐走ESB,而是走ESB+ETL结合的模式,即实际的数据传输走传统的ETL点对点传输完成,而ESB接入服务的只负责通过服务接口调用实时发起数据传输任务。
还有一种服务大并发调用,对于目标系统无法做到及时响应的场景,在这种情况下可以通过ESB的消息中间件进行服务调用流量控制和削峰处理。其实现本身又有两种方式,一种是走类似JMS消息中间件的基本处理,变同步服务为异步消息集成服务,另外一种就是仍然走同步WS服务,但是在出口端对ESB服务进行流量控制。
对于大文件传输,往往还有独立的文件传输平台产品,类似在Oracle SOA 12c版本中已经单独新增加了MFT文件传输模块来实现大文件传输,以及传输过程的端到端监控能力。当然MFT文件传输本身也是可以和ESB服务进行集成的,通过ESB服务来触发实时的文件传输,这和ESB服务和ETL传输是一个道理。
场景总结
通过前面描述可以看到对于ESB总线更多是对于大并发小报文的业务服务类API接口的集成,而对于大数据集成,大文件集成往往需要借助类似ETL工具,MFT文件传输平台来完成。但是对于SOA集成平台这个说法往往会同时包括了服务集成,消息集成,文件集成,大数据集成等各种集成能力。
对数据总线概念的进一步说明
在谈数据总线的时候,首先还是要说明下总线的概念。
总线英文名称为Bus,简单来说是一个类似Hub的集中点,总线(Bus)是指计算机组件间规范化的交换数据(data)的方式,即以一种通用的方式为各组件提供数据传送和控制逻辑。
也就是说总线核心作用是消息和数据的交换。
对于很多年前在ESB总线还没有大量应用的时候,经常会谈到数据交换平台这个概念,实际上数据交换平台很类似数据总线的概念。
这个交换可以是消息报文,也可以是大数据,也可以是文件等各种类型。但是不管是哪种类型,总线一个典型特征就是所有的数据都必须流经过总线这个Bus管道。也正是由于数据流通过了Bus,那么总线可以对所有的消息,数据进行统一的拦截。
这个拦截点可以进行一系列的安全,日志,审计,限流等各种管控操作。
那么对于ETL是否能够作为数据总线?
ETL大家都比较清楚,能够实现数据采集集成,清洗等各种数据集成能力。但是在传统的ETL概念里更多是配合BI系统或工具使用,对于采集的数据也是直接导入到BI目标系统。也就是ETL不是一个独立的平台或系统,仅仅是BI系统提供的一个数据采集和集成工具,同时ETL也不是完成业务系统间的数据集成,而是统一完成业务系统-》BI系统间的数据采集。
从这个意义上ETL还不能算严格意义上的数据总线。
其次,ETL工具一般只能够定时调度数据抽取,而无法通过接口服务实时调用进行数据采集,这个本身也是ETL工具本身的一个弱点。
在前面谈SOA集成平台的时候谈到,SOA集成平台一般会通过ESB总线+ETL共同来实现大数据集成能力。即ETL负责数据流,而ESB总线负责管控流,管控和数据流进行分离。类似Oracle产品中的ODI实现。
那么对于ESB+ETL结合的模式是否就是数据总线?
数据总线核心仍然是服务集成+大数据集成两个方面的能力,而这两个能力也正是通过ESB和ETL来提供。因此如果这两个内容融合的很好,那么可以理解为数据总线,如果融合的不好,那么会发现很多管控操作需要同时登陆两个产品去处理,那么实际和数据总线希望的目标还有差距。
综上,一个完整的数据总线应该具备如下能力。
最基本的ETL工具的能力,支撑各种DB数据库的适配
- 支撑当前主流的非结构化数据库集成
- 数据对象建模和对象定义
- 任务定时调度,规则调度和调度监控能力
- 和SOA服务进行集成,支持实时调度能力
- 数据安全和数据审计
- 数据质量管理能力
- 简单的数据转换,数据映射等能力
如果你是传统的ETL工具,那么需要剥离后形成一个独立的产品并提供面向开发者的管控治理平台,如果是ESB总线,那么就需要扩展大数据集成能力。不论是哪种方式,数据总线都需要做到对数据的记录,安全和日志审计。这是中心化架构带来的一个大好处,否则还不如完全去中心化点对点模式。
相关推荐
- 盲盒小程序背后的技术揭秘:如何打造个性化购物体验
-
在2025年的今天,盲盒小程序作为一种新兴的购物方式,正以其独特的魅力和个性化体验吸引着越来越多的消费者。这种将线上购物与盲盒概念相结合的应用,不仅为消费者带来了未知的惊喜,还通过一系列技术手段实现了...
- 小程序·云开发已支持单日亿级调用量,接口可用率高达99.99%
-
2019-10-1914:1210月19日,由腾讯云与微信小程序团队联合举办的“小程序·云开发”技术峰会在北京召开。会上,微信小程序团队相关负责人表示“小程序·云开发”系统架构已经支持每天亿级别的...
- 程序员副业开启模式:8个GitHub上可以赚钱的小程序
-
前言开源项目作者:JackonYang今天推荐的这个项目是「list-of-wechat-mini-program-list」,开源微信小程序列表的列表、有赚钱能力的小程序开源代码。这个项目分为两部分...
- 深度科普:盲盒小程序开发的底层逻辑
-
在当下的数字化浪潮中,盲盒小程序以其独特的趣味性和互动性,吸引着众多消费者的目光。无论是热衷于收集玩偶的年轻人,还是享受拆盒惊喜的上班族,都对盲盒小程序情有独钟。那么,这种备受欢迎的盲盒小程序,其开发...
- 微信小程序的制作步骤
-
SaaS小程序制作平台,作为数字化转型时代下的创新产物,不仅将易用性置于设计的核心位置,让非技术背景的用户也能轻松上手,快速制作出功能丰富、界面精美的小程序,更在性能和稳定性方面投入了大量精力,以确保...
- 携程开源--小程序构建工具,三分钟搞定
-
前言今天推荐的这个项目是「wean」,一个小程序构建打包工具。在wean之前,大量小程序工具使用webpack进行打包,各种loader、plugin导致整个开发链路变长。wean旨在解...
- 校园小程序的搭建以及营收模式校园外卖程序校园跑腿校园圈子系统
-
校园小程序的架构设计主要包括云端架构和本地架构两部分。云端架构方面,采用Serverless架构可以降低技术门槛,通过阿里云、腾讯云等平台提供的云服务,可以实现弹性扩容和快速部署。例如,使用云数据库、...
- 盲盒小程序开发揭秘:技术架构与实现原理全解析
-
在2025年的今天,盲盒小程序作为一种结合了线上购物与趣味性的创新应用,正受到越来越多用户的喜爱。其背后的技术架构与实现原理,对于想要了解或涉足这一领域的人来说,无疑充满了神秘与吸引力。本文将为大家科...
- 月活百万的小程序架构设计:流量暴增秘籍
-
从小程序到"大"程序的蜕变之路当你的小程序用户量从几千跃升至百万级别时,原有的架构就像一件不合身的衣服,处处紧绷。这个阶段最常遇到的噩梦就是服务器崩溃、接口超时、数据丢失。想象一下,在...
- 认知智能如何与产业结合?专家学者共探理论框架与落地实践
-
当前,以大模型为代表的生成式人工智能等前沿技术加速迭代,如何将认知智能与产业结合,成为摆在各行各业面前的一个问题。论坛现场。主办方供图7月4日,2024世界人工智能大会暨人工智能全球治理高级别会议在...
- 现代中医理论框架
-
...
- 认知行为(CBT)中的ABC情绪理论
-
情绪ABC理论是由美国心理学家阿尔伯特·艾利斯(AlbertEllis1913-2007)创建的理论,A表示诱发性事件(Activatingevent),B表示个体针对此诱发性事件产生的一些信...
- 说说卡伦霍妮的理论框架,对你调整性格和人际关系,价值很大
-
01自在今天我主要想说下霍妮的理论框架。主要说三本书,第一本是《我们时代的神经症人格》,第二本是《我们内心的冲突》,第三本是《神经症与人的成长》。根据我的经验,三本书价值巨大,但并不是每个人都能读进去...
- 供应链管理-理论框架
-
一个最佳价值的供应链,应该是一个具有敏捷性、适应性和联盟功能(3A)的供应链,其基本要素包括战略资源、物流管理、关系管理以及信息系统,目标是实现速度、质量、成本、柔性的竞争优势。篇幅有...
- 微信WeUI设计规范文件下载及使用方法
-
来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。WeUI是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信Web开发量身设计,可以令用户的使用感知...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- MVC框架 (46)
- spring框架 (46)
- 框架图 (58)
- bootstrap框架 (43)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- laravel框架 (46)
- express框架 (43)
- scrapy框架 (52)
- beego框架 (42)
- java框架spring (43)
- grpc框架 (55)
- 前端框架bootstrap (42)
- orm框架有哪些 (43)
- ppt框架 (48)
- 内联框架 (52)
- winform框架 (46)
- gui框架 (44)
- cad怎么画框架 (58)
- ps怎么画框架 (47)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)
- oracle提交事务 (47)