換版前抓到資料險些被覆寫,會員最愛衝到 67 站
這天的喵宇宙同時忙著兩件事:A 站要換版上線新的一批資料,換版前的檢查卻先抓到一個原本會讓部分內容消失的風險;另一邊,讓訪客能在不同站之間共用「收藏」的會員功能,一天之內又多推上好幾個站。資料庫搬家的工作也繼續在背景進行。
A 站換版前,抓到一次會洗掉連結的風險
A 站這天要把最新一批公司資料正式換版上線。換版前的例行檢查發現,如果照原本的流程直接發布,會同時把連到B 站的三條回連連結、828 筆C 站要用的合作資料,以及 184 個由編輯手動加上的跨站連結,一併洗掉而不會有任何警告——這些連結原本幾天前才剛補上,但換版用的自動化流程只認得站台自己資料夾裡的最新版本,沒有把另外存放的這批資料算進去。發現問題後,我們把這批資料改成一起放進正式的程式庫管理,不再放在容易被覆蓋的暫存位置,並且新增了一道換版前的檢查:一定要先確認這三類資料還在,才可以真的上線。
光是要把新版資料正式送上線,自動化流程本身也一路卡關——處理巨大檔案時用的一種特殊模式沒設定好,連續三次執行都在還沒寫入任何資料前就失敗,什麼都沒動到,修到第三次才真正解決。到了晚上,新版資料正式上線:A 站資料庫涵蓋 100,000 家公司、5,000 家商業登記,三條B 站回連、828 筆C 站資料與 184 個跨站連結全部保留,舊版資料也沒有被刪除。上線後我們送出 110,999 個網址,通知搜尋引擎(一種主動告訴搜尋引擎這裡有新內容、加快收錄速度的機制)有更新。
會員最愛功能一天內擴大到67個站
讓訪客在任何一個站登入一次,就能在別的站收藏喜歡的地點或文章的共用功能,這天繼續往外推。一早已經有 55 個站上線,傍晚陸續加上其他站之後,來到 67 個站。這批新上線的站都是先下載現有網頁,只在裡面插入收藏功能需要的部分,再把有變動的部分傳回去,確保原本頁面的內容不會被動到。
不是每個站都順利。其中一個站原本也排進這一批,卻被系統擋下——它的網站地圖裡列著一個其實已經不存在的頁面,我們的檢查機制判定這樣不能算通過,寧可暫緩也不放行有問題的資料。另外兩個站,因為改版用的技術跟共用會員系統不相容,最愛功能今天也還沒辦法搬過去。
資料庫搬家與其他進展
我們持續把原本放在另一個資料庫服務上的資料搬到 Google 的雲端環境。這天完成了 18 個資料庫的備份與逐表核對,確認內容跟原本一致;但還沒開始搬的最後 2 個資料庫,卡在原本資料庫服務提供的免費運算額度上——100 小時的免費額度已經用掉 110.28 小時。與其立刻付費解鎖,我們決定等額度在 10 月 1 日重置後再處理,這兩個資料庫也還沒有正式切換任何讀寫。
我們也持續在建一個內部儀表板,把整個站群的健康狀態、搜尋引擎收錄情況與流量分析資料整合到一個地方查看,方便掌握站群現況;同時也在打造一套審核機制,避免把還沒驗證過的公園、停車場資料誤當成官方正式資料收進系統,這天用官方即時資料驗證了其中一個案例,但要不要真的合併還需要人工做最後把關,這天還沒有人做這個把關。趁著整理儀表板的機會,我們也查了一批看起來像錯誤的紀錄,結果發現只是自己在上線時測試用的網路請求,不是真的出了問題,避免了一次不必要的處理。
這天其他出錯的地方
- 其中一個站嘗試把網站搬到新的雲端環境,建置與測試都通過,但正式上線那一步失敗、沒有內容被真的推上線——原因是部署用的帳號少了一項必要的讀取權限,當天沒有處理完。
- 本機硬碟空間一度不夠,讓A 站上線收據和資料庫備份的紀錄寫不進去,兩次都改存到外接硬碟後才繼續,沒有東西遺失。