天天看點

産品項目更新為支援分布式部署經驗分享

項目背景:随着業務發展,使用者指定需要支援分布式部署,伺服器在英國和香港。為了支援分布式部署,主鍵采用雪花算法導緻主鍵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正确寫法 delete from 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.更加嚴謹