赞
踩
随着业务的扩张,用户的增多,不少企业会开发出各种各样的业务系统来满足不同用户群体的需求,不同的业务系统使用的数据库类型也不尽相同,同时每天都可能产生大量的数据,不同系统之间的数据往往是隔离的,不透明的,这就可能导致数据标准不统一,数据质量参差不齐,如何更好的统一管理数据,查看数据信息,管理好自己的数据资产,让数据更好的服务于业务,避免重复开发,便逐渐成为了企业面临和关心的问题。
市面上有一些厂商推出了此类服务帮助企业管理数据资产,如阿里的 dataworks ,可以说是非常强大了,基本涵盖了数据治理,数据开发所需的所有功能,能够很好的帮助企业搭建自己的数据中台,实现数据的业务赋能,缺点就是闭源且收费。本文分享的系统源码偏数据治理,虽不能与 dataworks 相提并论,但功能丰富且全面,支持常见的数据库类型,同时可以自定义数据模型,进行简单的数据生产,功能模块划分明确,拓展简单方便,能有效的帮助企业搭建一站式数据治理中台!
该系统基于智数通项目进行二次拓展开发,修复了原系统存在的问题:如首次启动服务之间调用过慢,数据服务 API 初始化无效,各模块删除操作缺乏关联校验,可视化模块回显和保存异常,工作流缓存无效等,同时优化了前台部分模块的属性显示,丰富了元数据的同步方式,支持手动执行数据质量检测等,现开源出去反哺社区。
系统提供了统一的元数据自动采集和维护入口,在元数据模块中为数据管理提供了准确实时的基础数据,在此之上结合企业的现状调研和咨询,可以构建企业级的数据资产类目体系和数据安全体系。同时,通过数据质量模块,实现数据处理的质量管控。通过数据 API 模块,为上层应用提供数据接口服务,实现数据赋能。通过可视化模块无需搭配任何开发工具,简单拖拽和开发,即可完成复杂的数据分析任务等等。
系统应用微服务云原生技术,封装了大量技术开发包、技术应用组件、技术场景实现能力,提供了一个可支持企业各业务系统或产品快速开发实现的微服务应用数字化融合平台,富含各类开箱即用的组件、助力企业共享业务服务的组合重用,为企业服务化中台整合、数字化转型提供强力支撑,也为企业提供了最佳架构实践。同时该系统还是一套基于Spring Cloud的微服务应用程序框架,可帮助公司更快,更高效地进行微服务开发。
后台整体采用 SpringCloud 微服务框架开发,使用 Spring Security + Spring OAuth 2.0 实现认证鉴权;使用 Quartz 实现任务调度;使用 MyBatis Plus 作为持久层支撑;使用 RabbitMq 提供消息队列服务,用于模块之间的异步通信,处理任务;使用 Redis 提供缓存服务,加快系统查询响应速度;采用 Flowable 作为工作流引擎,为流程化业务提供服务支撑。
前台采用 vue 技术栈,使用 vue-element-ui 框架开发,样式简约精美,npm 一键打包,部署方便。
系统模块划分细致明确,整体划分结构如下:
datax-ui-pro – 前端工程[9528]
datax-cloud-pro – 后端工程
├── datax-eureka – 注册中心[8610]
├── datax-config – 配置中心[8611]
├── datax-gateway – Spring Cloud Gateway网关[8612]
├── datax-auth – 授权服务提供[8613]
├── datax-common – 系统公共模块
├ ├── datax-common-core – 公共工具类核心包
├ ├── datax-common-database – 数据库相关工具类包
├ ├── datax-common-log – 日志服务类包
├ ├── datax-common-mybatis – 数据源类包
├ ├── datax-common-office – word工具类包
├ ├── datax-common-rabbitmq – rabbitmq消息队列类包
├ ├── datax-common-redis – redis类包
├ ├── datax-common-security – 安全工具类包
├── datax-modules – 业务模块
├ ├── codegen-service-parent – 后端代码生成管理模块[8830]
├ ├── data-market-service-parent – 数据集市管理模块[8822]
├ ├── data-masterdata-service-parent – 主数据管理模块[8828]
├ ├── data-metadata-service-parent – 元数据管理模块[8820]
├ ├── data-quality-service-parent – 数据质量管理模块[8826]
├ ├── data-standard-service-parent – 数据标准管理模块[8825]
├ ├── data-visual-service-parent – 可视化管理模块[8827]
├ ├── email-service-parent – 邮件管理模块[8812]
├ ├── file-service-parent – 文件管理模块[8811]
├ ├── quartz-service-parent – 定时任务管理模块[8813]
├ ├── system-service-parent – 平台基础设置管理模块[8810]
├ ├── workflow-service-parent – 流程管理模块[8814]
└── datax-tools – 图形化模块
├ ├── datax-tool-monitor – Spring Boot Admin监控 [8711]
以上便是本期源码分享的主要内容了,依本人所见,源码中还是有很多可取之处的,思想层面,可以帮助我们了解数据平台的模块构成以及相关核心业务。技术层面,比如如何获取不同数据库的元数据信息,如何解析sql,如何动态生成 API 服务,如何自定义定时任务等,这些在日常开发中并不常见,但如果借此掌握,大有裨益。
使用该系统搭建企业数据中台或个人学习研究,都是不错的选择,希望能对你有所帮助,有所启发,我们下次更新,再见!
想要源码以及相关部署文档,资料的朋友 —》
关注公众号 螺旋编程极客
发送 数据中台
获取,
附送 数据中台标准建设方案PDF
!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。