• 【开源项目 - export-service】数据导出项目 之 简介


    背景

    在后台管理系统的项目中,导出是一个必不可少的功能,很多业务数据或者配置等数据都需要导出来,然后进行数据的整合、核对或者归档等,但是很多系统的导出功能是和业务系统结合在一起,这样会存在以下的各种缺点:

    • 很多系统都有导出的功能,但是导出和业务在一个项目,不能公用,导致很多重复的开发量。
    • 随着业务数据的大量增长,导出数据会变得很慢,需要一直在后台等待导出完成才能进行下一项的操作,用户体验不好,而且浪费时间。
    • 导出逻辑和业务逻辑在一起,导出数据时,可能因为导出的各种原因,导致影响业务系统的性能、吞吐量下降等。

    当前项目的优点:

    • 导出和业务解耦,降低维护成本,同时减少重复的代码,重复的工作。
    • 多个项目只需要一个导出服务,即可实现所有的数据导出。
    • 自定义导出模板,自动填充数据,方便快捷。
    • 支持多种方式的数据拉取方式,目前支持 http、curl,后期逐步支持 dubbo、grpc 等协议。
    • 导出之后,继续再业务系统进行其他的操作,导出和其他操作分离,导出完成再去下载即可,互不影响。
    • 导出数据可以配置查看或者下载的数据权限,做到权限隔离,安全有保障。
    • 记录导出的历史记录,方便追踪下载数据的人员分析和保障数据的安全,提高数据的可追溯性。
    项目结构

    在这里插入图片描述
    管理后台后端代码地址:https://github.com/behappyto-cn/export-parent
    管理后台前端代码地址:https://github.com/behappyto-cn/export-ui
    导出核心服务代码地址:https://github.com/behappyto-cn/export-service.git

    部署流程

    分别部署三个项目即可。

    使用方式

    对接接口为启动核心服务之后,查看 http://ip:port/export-service/doc.html 的接口文档。

    1、配置导出模板,可以接口配置,也可以后台管理界面配置。
    2、配置拉取数据相关信息,可以接口配置,也可以后台管理界面配置。

    导出模板

    参考:https://easyexcel.opensource.alibaba.com/docs/current/quickstart/fill

    功能截图

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    操作系统面试题
    将 JavaScript 源文件的全部内容包装在立即调用的函数中的原因是什么?
    Swift Enum底层探究
    MySql 数据库【事务】
    gitpod,不用clone代码就可以让项目在线上跑起来
    Spring Cloud Sleuth介绍以及简单示例
    HM-RocketMQ2.2【SpringBoot整合RocketMQ】
    深入了解PHP中的经典一句话木马和变量传递漏洞
    LeetCode 0231. 2 的幂
    7、Nacos服务注册服务端源码分析(六)
  • 原文地址:https://blog.csdn.net/qq_38428623/article/details/127106929