java 利用tk.mybatis的通用mapper实现异步导出(一)

        由于某些系统导出频率很高,而且数据量很大,要是同步导出不仅占用当前系统的cpu、内存等硬件的资源,同时也会占用网络等资源,所以我们可以把导出的功能做为异步的方式,异步操作并起把文件放到文件服务器中,下载的文件直接从文件系统中导出。异步导出的方法方案很多,我主要说两种:

一、针对不同的导出功能提供不同的接口

       开发一个通用的job动态调用对应的接口,提供的接口我们可以使用restful、dubbo、springcloud、webservice等,只要定义一个规则即可,请求的参数当然需要事先保存到非关系数据库或者关系数据库中,也可以放到MQ中,看具体的情况具体的选择,具体的可以参考下图,把给前台的后台和提供导出数据的后台分离开,达到硬件资源、网络资源互不影响。

  •        优点
    • 功能细化,方便维护,功能清晰
    • 部署到不同的机器,资源互不影响
  • 缺点
    • 需要定义一个规则,所有的接口按照这个规则开发
    • 新建一个项目提供查询接口,增加开发工作量

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章