專案搬到雲的一次小結

2022-04-06 11:19:16 字數 1553 閱讀 3936

放假剛回到家幾天,學校伺服器就掛了。

這伺服器沒得說,三天兩頭掛一次。已經老了,跑不動了吧。

為了減輕維護的負擔,我決定把流量匯管家(xiayule.net)服務搬到雲了,流量匯管家github專案位址。 

說到流量匯管家,這可以說是我的第乙個有人用的小專案,雖然用的人不多,考慮到自己還在用。捨不得它掛掉,但又疲於維護。心裡想著孩子,不要怪我,我再努力一次。  

魔泊網是按照服務數量來計費的,乙個web站算乙個服務。

具體的資費參見官網。 

接下來就是搬遷服務。這意味著幾點要考慮了:

複雜些,因此花費的時間也比較長。

我利用重構的方式逐步替換掉redis的服務。

第一步實現的是cookie的mysql儲存。

具體的改動可以參加這裡.

思路就是 建立 cookieservicemysqlimpl 類,實現 cookieservice 介面(三層設計的優勢體現出來啦), 然後配置spring替換掉 cookieserviceimpl(redis版本)的依賴注入就可以了。

第二步實現的是實現了朋友搖獎和自動領取功能的mysql資料庫儲存。

這個沒有乙個固定的介面,需要在他們呼叫的類 subscribservice類處修改呼叫。好在不算複雜,

具體改動參見這裡。

第三步實現的是有效期的mysql化。

redis提供了鍵的自動過期,而mysql沒有提供記錄的自動過期。需要自己實現。而我的方案也很簡單,就是加入乙個過期字段 endtime, 每次操作檢視endtime是否過期就可以了。

具體改動參見這裡。

剩下的就是mysql比較零碎的改動了

第三點是打算慢慢改動的,沒急著寫,畢竟這個不是太緊迫。

改動好了,可以準備著部署了。

想要在sae部署也是要費一番功夫的。

可以分為三步:

登入建立web服務,然後建立mysql資料庫服務,把mysql資料庫的配置寫入專案。

這裡可能會遇到資料庫亂碼問題,如果是xml配置檔案,需要這樣寫jdbc url:

如果是**配置,需要這樣寫url:

區別就在於在xml中字串要使用html實體, 參見這裡。 

這些服務提供的jar包都是sae提供的,如果我們的與其衝突,我們就要妥協,刪掉我們的。

刪除哪些包呢?

刪除所有sae提供的包。詳情參見這裡.

刪除之後,就可以將專案上傳了。

這離成功還有一段距離,因為你會發現各種問題,可以檢視日誌慢慢修改。

搬遷工作已經持續乙個星期了,沒有精力再弄了。決定使用魔泊網了,

魔泊網還是很給力的,配置完資料庫mysql,不用任何刪包,上傳專案,就能成功執行(感受到了上帝的溫暖)。

接下來解決網域名稱問題,魔泊網的網域名稱很長: getll.sturgeon.mopaas.com (反正我是記不住,逼我掏錢?)

妥協一下,sae是可以繫結網域名稱的,因此我在sae寫了乙個小程式,每次訪問 xiayule.net 或 www.xiayule.net,都會重定向到 getll.sturgeon.mopaas.com。這還算乙個不錯的辦法。

至此,搬遷工作算是告一段落了,鬆口氣,喝口茶,寫寫小結,休息休息。

第一次專案小結

登陸表 login.jsp 登陸時候需要考慮第一次登陸提示錯誤資訊 if request.getattribute err null conf.jsp 連線資料庫對登陸進行查詢 if rs.next else 最後通過if flag 判斷跳轉 succ.jsp 取出session if sessio...

一次DELLEMC的面試小結

2018年8月23日,在上海戴爾emc面試,面試職位是軟體開發,職位要求偏向於c linux指令碼 python指令碼 多執行緒程式設計 一次 的面試,期望看到的人幫我寫點答案,謝謝 面試小結 1 鍊錶的翻轉 2 陣列的翻轉 3 乙個32位的數,寫函式完成設定位,清除位,翻轉位 都是某一位 4 gd...

記一次騰訊雲部署專案過程

2.到jdk安裝目錄下執行解壓命令 sudo tar zxvf jdk 8u171 linux x64.tar.gz c usr local 將jdk解壓到 usr local目錄下 代表當前目錄 c 指定解壓目錄 3.配置環境變數 用 sudo vim etc profile 開啟系統配置環境變數...