記一次文件轉換服務升級"筆錄"
背景
文件轉換平台誕生於2015年7月17日,當時的主要業務需求是實現文件上傳、轉換(word->pdf->swf)、展示(類似於百度文庫)的功能,由此她就出生了。
流程圖
實現方案
初期
相關技術
spring,hibernate,axis2,quartz,openoffice,swftools,linux平台
實現說明
各個平台采用RPC異步調用的方式,封裝實體類傳遞相關參數,然後交由文件轉換服務集群進行轉換,最終根據轉換狀態更新數據庫信息。
同時由於可能存在係統異常導致文件轉換失敗(郵件通知運維人員),采用quartz定時任務每隔10分鍾拉取一次數據失敗信息繼續轉換。
基於大家可能疑惑的文件如何傳輸,這裏做一個說明:各個係統之間有一個共同的文件服務器,采用NFS映射的方式存在於每個服務器,項目之間采用軟連接的形式獲取相應的文件。
至於axis2是如何做到集群調用的,目前隻是在各個平台封裝了一個簡單的服務集群組,采用輪詢的方式進行調用。
最終呈現
近期
由於近期對大部分老舊項目進行升級為Maven,所以針對此次文件服務升級也做一個"筆錄",在盡量不影響現有係統正常運行的情況下做最小改動。
相關技術
maven,spring,hibernate,axis2,scheduler,openoffice,swftools,linux平台
升級說明
Axis2都是apache的開源框架,也是之前比較流行的webservice框架,至此最新版本更新到2017年1.7.5,但是Maven中央庫中使用量基本為0。顯然老牌RPC框架已經被Dubbo以及各種微服務產品spring-cloud騎壓了。
好了,扯了那麼多淡,其實Axis2還是有不少用戶的,比如還在維護的老項目,特別是很多傳統企業,國企之類的。
簡單說一下升級要項:
- 配置pom.xml,整合各種依賴
- 為了與各個平台兼容axis2保持1.6.2版本
- openoffice相關依賴升級為最新版4.1.2
- quartz變更為更加輕量化的spring-scheduler
- 第三方操作類庫jodconverter-core在Maven庫中下載失效,需自行打入本地倉庫
最後,在測試環境做一個簡單的測試,搞定!!!
作者: 小柒
出處: https://blog.52itstyle.com
本文版權歸作者和雲棲社區所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁麵明顯位置給出, 如有問題, 可郵件(345849402@qq.com)谘詢。
最後更新:2017-07-28 23:34:58