天天看点

产品项目升级为支持分布式部署经验分享

项目背景:随着业务发展,用户指定需要支持分布式部署,服务器在英国和香港。为了支持分布式部署,主键采用雪花算法导致主键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.更加严谨