產品專案升級為支援分散式部署經驗分享
專案背景:隨著業務發展,使用者指定需要支援分散式部署,伺服器在英國和香港。為了支援分散式部署,主鍵採用雪花演算法導致主鍵number由8變為22位。
操作:
1.除了資料庫表的欄位批量修改為22位之外;
2.程式碼方面需要將rs.getInt改為rs.getLong,int改為long宣告,或者轉換成Long.parseLong(s),以及等等操作;
注意點:批量操作替換這些程式碼時候需要除了勾選全詞匹配,還需要勾選匹配大小寫。
首先我們將替換掉的程式碼另存為一個檔案,在使檔案對比工具beyond compare,和最初始的檔案進行對比。然後一個一個檔案開啟,檢視類似上面需要替換的地方。
優點:不會遺漏,不會替換不該替換的地方。
缺點:明顯的耗時間,每個都需要修改的地方需要人工檢視。
所有的工作包括平臺和業務的替換工作量為一週。
orcale資料庫替換為postegresql
除此之外,資料庫也改為pgsql。準確的說應該是支援多資料,這裡採用mybatis配置多種資料庫sql語句。根據你選擇的資料進行載入相應的sql語句。
常見差異:
1.pgsql不支援rownum(rownum=1改為max)
2.pgsql不支援(+)(改為相應的左右連線)
3.sql語句能寫標準的儘量寫標準(update tableName a set a.id=? 正確寫法 update tableName set a.id=?或者delete tableName
4.start with ... connect by 樹查詢 改為 with recursive
5.oracle的to_date方法和pgsql的to_date方法不一樣,類似於不是max(),sum()這樣的函式處理,我們自己宣告xx_to_date()函式全域性替換to_date方法
感悟:在進行oracle遷移pgsql工作,真心認為oracle的強大,不恰當的認為要錢和不要錢還是有區別。以及自己sql功底還不足,寫sql語句往標準的靠上。
weblogic替換為tomcat釋出
1.亂碼問題嚴重;
2.更加嚴謹