java 利用tk.mybatis的通用mapper實現異步導出(一)

        由於某些系統導出頻率很高,而且數據量很大,要是同步導出不僅佔用當前系統的cpu、內存等硬件的資源,同時也會佔用網絡等資源,所以我們可以把導出的功能做爲異步的方式,異步操作並起把文件放到文件服務器中,下載的文件直接從文件系統中導出。異步導出的方法方案很多,我主要說兩種:

一、針對不同的導出功能提供不同的接口

       開發一個通用的job動態調用對應的接口,提供的接口我們可以使用restful、dubbo、springcloud、webservice等,只要定義一個規則即可,請求的參數當然需要事先保存到非關係數據庫或者關係數據庫中,也可以放到MQ中,看具體的情況具體的選擇,具體的可以參考下圖,把給前臺的後臺和提供導出數據的後臺分離開,達到硬件資源、網絡資源互不影響。

  •        優點
    • 功能細化,方便維護,功能清晰
    • 部署到不同的機器,資源互不影響
  • 缺點
    • 需要定義一個規則,所有的接口按照這個規則開發
    • 新建一個項目提供查詢接口,增加開發工作量

 

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