1. 程式人生 > >產品專案升級為支援分散式部署經驗分享

產品專案升級為支援分散式部署經驗分享

專案背景:隨著業務發展,使用者指定需要支援分散式部署,伺服器在英國和香港。為了支援分散式部署,主鍵採用雪花演算法導致主鍵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.更加嚴謹

相關推薦

產品專案升級支援分散式部署經驗分享

專案背景:隨著業務發展,使用者指定需要支援分散式部署,伺服器在英國和香港。為了支援分散式部署,主鍵採用雪花演算法導致主鍵number由8變為22位。操作:1.除了資料庫表的欄位批量修改為22位之外;2.程式碼方面需要將rs.getInt改為rs.getLong,int改為lo

ecplise專案升級android studio專案過程中遇到的問題總結

最近在使用AS常遇到一些問題反覆出現。於是整理了一下以前遇到的一些問題,並附帶常見的解決辦法。 首先簡單看一下gradle build的工作流程,如圖: 如上圖,gradle編譯主要分為Load build,Configure build,calculate task

用gradle搭建的SpingBoot專案打包jar包部署到伺服器上(簡單的方式)

工具為 IDEA第一步:在gradle.build配置檔案中設定啟動類第二部:開啟gradle視窗,找到build->task->jar然後就打包成jar檔案啦,可以在專案build目錄下找到關於jar檔案的結構:解壓jar包,可以看到包含三個資料夾example

人員高密場景AP部署經驗分享

高密場景ap部署經驗分享華為J區培訓中心大教室AP增加替換項目背景:華為J區培訓中心三個大教室(1L43,1L44,1L45), 每個教室原來都有8個AP6010,AP個數不夠且性能不佳,無法支撐華為營運商BG大會勝利召開,每個教室需要增加AP並替換為高性能型號。 具體需求: 每個教室都有300人參加華

2018年3月一次性通過PMP專案管理考試取得5A的經驗分享

我自己是在2018年3月份考取的PMP證書,我們行業PMP證書對於很看重,所以領導想讓我考一個。我當時想,既然領導都讓考,那麼肯定有用,再就是說不定有晉升的機會,就去考了。我考後還把自己整理的資料集中放在這個群裡,大家也可以自己看一下有沒有用。下面是我的成績通知單。 下面說下我自己的備考技

2017年高職高專技能比賽電子產品設計與制作賽項比賽經驗分享

小時 產品 三人 什麽 出現 設計與制作 使用 技能 ron 為了這個比賽付出了4個月的時間!可是最後什麽獎都沒有得到。 這個比賽比的是工業上主流的單片機(ST,MSP都有可能)。 比賽的特點 1.使用的單片機未定,比賽前1個月公布 2.比賽的題目未定,猜不到,沒

2018華軟體精英挑戰賽經驗分享,止步複賽,無緣決賽

程式碼開源於 github,如果覺得本文對你有幫助的話,請到 github點個贊再走哦! 今年的華為軟體精英挑戰賽終於結束了(大佬們去深圳決賽了),當時初賽賽區第5,進了複賽也沒能衝進前4(前4進決賽),也算有些遺憾吧。本文梳理下比賽思路,分享下

[API 開發管理] EOLINKER 升級產品架構, AMS V4.5 版本常見問題匯總

mar 進入 一個 rom 企業版 博客 qt5 自動化 並且 自AMS4.5開始,eoLinker 全面升級為多產品架構,部分操作方式較以前有較大改變,本文針對改進部分做重點說明。 在說明之前,我們先通過以下的圖文看看AMSV4.5更新了哪些內容: Q:我可以創建多

javaweb spring專案升級多環境部署問題

javaweb spring專案,由於開發中往往有各種各樣的環境 dev開發環境, test測試環境 pro生產環境,打war包,改各種各樣的配置,首先application.properties中 spring.profiles.active=dev可以指定對應的環境,application-

docker簡易環境搭建實戰篇:以人人網開源專案(renren-fast)搭建分散式部署(後端篇)

docker簡易環境搭建實戰篇:以人人網開源專案(renren-fast)搭建分散式部署(後端篇) 寫在前面:注:閱讀本文前,請先閱讀docker標籤的docker簡易系列的文章。 後端最終實現的架構圖: 第一步 簡單瞭解人人開源專案renren-fast 官網:h

docker簡易環境搭建實戰篇:以人人網開源專案(renren-fast-vue)搭建分散式部署(前端篇)

docker簡易環境搭建實戰篇:以人人網開源專案(renren-fast-vue)搭建分散式部署(前端篇) 寫在前面:注:閱讀本文前,請先閱讀docker標籤的docker簡易系列的文章。 前端最終實現的架構圖: 第一步 修改前端專案配置 修改專案目錄中 static/co

Springboot專案新增jsp支援部署到tomcat

Springboot專案新增jsp支援部署到tomcat tomcat版本 :9.0.13 1.修改pom.xml,新增以下依賴  修改以下依賴   2.修改application.yml ,新增一下配置  3.在專案的src下新建以

ubuntu上web專案部署,:uwsgi, uwsgi + nginx, uwsgi+nginx分散式部署

Ubuntu中pip和pip3區別: pip預設給python2用,pip3預設給Python3使用 django中有runserver可以執行專案為什麼還要部署: 因為runserver是一個單執行緒的伺服器,不支援多執行緒訪問 專案部署有三種方式: 1. uwsgi 2. uwsgi +

airflow引數修改、分散式部署、優劣勢分析、工程經驗

這是第一篇部落格,內容很簡單,只是記錄一個工作中遇到的小問題。意義在於學習部落格的使用,讓自己養成技術部落格的習慣。 優劣勢分析 airflow是一個編排、排程和監控workflow的平臺,是一個工作任務的排程平臺,其內建了比較全面實用的排程功能。下表列出了實際場景下

[API 開發管理] EOLINKER 升級產品架構, AMS V4.5 版本常見問題彙總

自AMS4.5開始,eoLinker 全面升級為多產品架構,部分操作方式較以前有較大改變,本文針對改進部分做重點說明。 在說明之前,我們先通過以下的圖文看看AMSV4.5更新了哪些內容: Q:我可以建立多少個的工作空間? A:eoLinker升級後,使用者

遠端伺服器部署spring boot 專案(centos7例)

1.打包專案(可以是jar包,也可以是war包)以jar包為例(用eclipse打包):    1.專案目錄右擊--debug as(run as)--maven build,然後輸入package,點選debug,就會在target目錄生成相應的包:2.上傳專案:上傳方法可

Docker Dockerfile打包SpringBoot專案映象並部署

前面學習了Docker,今天來打包個專案Demo測試一下Docker在實際生產環境的使用。 先找一個你本地能執行的SpringBoot專案 安裝了Maven(這裡用Maven構建jar包)

VMware釋出開源專案Serengeti,支援雲中部署Apache Hadoop

全球虛擬化和雲基礎架構領導廠商VMware公司今天公佈了最新開源專案——Serengeti,支援企業能夠在虛擬和雲環境中快速部署、管理和擴充套件Apache Hadoop。此外,VMware與Apache Hadoop社群共同合作研發擴充套件功能,讓主要元件可以“感知虛擬

ubuntu上web專案部署,:uwsgi, uwsgi + nginx, uwsgi+nginx分散式部署

Ubuntu中pip和pip3區別: pip預設給python2用,pip3預設給Python3使用 django中有runserver可以執行專案為什麼還要部署: 因為runserver是一個單執行緒的伺服器,不支援多執行緒訪問 專案部署有三種方式: 1. uwsgi

已有的web專案新增maven支援

要使用maven構建專案,需要一些前期的準備,比如說安裝maven,一些關於maven的知識等,這些不懂的可以直接上網百度,如何安裝配置maven也可以百度,和jdk的配置差不多,下面只介紹怎樣把已有的web專案新增maven支援。 本人的環境為:my