第440章 重連中!

投票推薦 加入書籤 小說報錯

  值班技術員按下了那個紅色按鈕。

  屏幕上沒有任何戲劇性的變化,沒有警報聲,沒有紅燈閃爍,只是兩側測試終端的網絡狀態指示從」在線」變成了」離線」。

  綠色變成灰色。

  同一秒,100筆交易請求從測試伺服器下發到兩側的終端。

  監控室的匯總面板上出現了一行小字。

  」斷網已執行,隨機時長生成中……」

  三個點閃了兩下。

  數字跳出來了。

  」斷網時長:00:14:37」

  十四分三十七秒。

  值班技術員看到這個數字的時候身體微微頓了一下,他沒有轉頭,但他的後背肌肉收緊了一瞬間。

  十四分三十七秒,接近上限。

  值班組長看了一眼那個數字,表情沒有變化,他在記錄表上寫了下來。

  所長也看到了。

  他的目光在那個數字上停了大約兩秒,然後移到了左邊的屏幕上。

  …………

  左邊,工行。

  斷網的瞬間,硬體雙通道的網絡模塊失去了信號,兩條鏈路同時斷開。

  30秒緩存自動啟動。

  終端側面的藍色指示燈從穩定的常亮變成了閃爍,一秒閃一次,每閃一次表示緩存模塊在檢測網絡狀態。

  100筆交易開始執行。

  前10秒。

  緩存模塊接管了交易流程,100筆交易進入本地緩存隊列,不聯網,不清算,只記錄,等網絡恢復後統一同步。

  緩存狀態面板上的數字在跳。

  已緩存:23筆。

  已緩存:41筆。

  已緩存:67筆。

  跳得很快,緩存寫入速度沒有問題。

  工行測試間裡,老方盯著終端屏幕,指示燈在閃,藍色的光一亮一滅,打在他的臉上,節奏很穩。

  趙銘遠站在角落裡,手插在口袋裡,拇指沒有搓手機殼,停在那裡不動了。

  他在數秒數。

  一,二,三……

  藍燈閃了十下,十秒。

  十一,十二,十三……

  已緩存:89筆。

  十八,十九,二十……

  藍燈閃了二十下。

  已緩存:100筆。

  100筆全部進入緩存,用了大約二十二秒,在30秒窗口以內。

  到這一步為止,一切正常。

  趙銘遠的呼吸均勻了一些。

  30秒緩存的設計就是為這個場景準備的,100筆交易在22秒內全部緩存完畢,剩下的時間用來等網絡恢復,網絡恢復後3秒同步。

  但藍燈還在閃。

  二十三,二十四,二十五……

  網絡沒有恢復。

  二十六,二十七,二十八……

  藍燈閃爍的頻率變了,從一秒一次變成了半秒一次,這是緩存模塊的警告模式,30秒窗口即將到期。

  二十九。

  三十。

  藍燈停了。

  不是滅了,是從閃爍變成了常亮,但顏色變了。

  從藍色變成了橙色。

  橙色。

  橙色是30秒緩存超時的狀態,緩存模塊的設計邏輯:30秒內網絡未恢復,停止接受新交易,已緩存的100筆交易進入」待同步」狀態,終端顯示屏彈出提示。

  」網絡連接中斷,交易暫停,請等待網絡恢復。」

  老方轉過頭看趙銘遠。

  趙銘遠看著那個橙色的燈。

  30秒到了,網絡沒有恢復。

  他的拇指開始搓手機殼了。

  …………


  31秒,32秒,33秒。

  橙燈常亮,終端屏幕上的提示沒有消失,」請等待網絡恢復。」

  40秒。

  老方在鍵盤上敲了兩下,試圖手動觸發網絡檢測。

  」無信號。」

  50秒。

  趙銘遠的手從口袋裡抽出來了。

  60秒,一分鐘。

  他的離線方案覆蓋30秒,一分鐘已經超出設計範圍。

  他看了一眼老方,老方回看了他一眼,兩個人都沒說話。

  90秒。

  橙燈還亮著。

  終端屏幕上的提示變了。

  」網絡連接中斷,緩存超時,交易掛起,重連中……」

  重連中。

  三個字,後面跟著三個點,三個點在轉,很慢。

  120秒,兩分鐘。

  三個點還在轉。

  趙銘遠看著那三個點。

  他知道了。

  這不是一分鐘的測試。

  …………

  右邊,微光。

  斷網的瞬間,v2.0引擎的網絡模塊同樣失去了信號。

  但本地帳本模塊沒有任何變化。

  因為它不依賴網絡。

  本地帳本的設計邏輯跟工行的緩存完全不同,工行的緩存是」先記下來,等網回來再處理」,本地帳本是」在本地直接處理,處理完了等網回來再同步」。

  區別在」處理」兩個字。

  緩存不處理交易,它只暫存,交易的真正完成需要中心清算確認,沒有網絡就沒有清算,沒有清算交易就沒有法律效力。

  本地帳本處理交易,占用鎖機制在本地完成交易確認,確保不會雙花,交易在斷網的瞬間就已經在法律意義上完成了,等網絡恢復後,本地帳本跟中心帳本同步,補上清算記錄。

  斷網之後,100筆交易請求進入本地帳本。

  老周看著屏幕。

  交易筆數從0開始跳。

  3,7,14,22。

  跳得跟聯網的時候一樣快。

  31,45,58。

  響應時間面板上的數字:12.3ms。

  比聯網時候的11.4ms慢了不到1毫秒。

  67,79,88。

  老周端起搪瓷缸喝了一口茶,熱的。

  93,97,100。

  100筆,全部完成。

  用時:8.2秒。

  完成率:100%。

  平均響應時間:12.3ms。

  本地帳本狀態面板上所有指標綠色,占用鎖運行正常,零雙花,零衝突。

  方遠在看日誌。

  全綠。

  林徹站在角落裡,手插在口袋裡。

  他沒有看屏幕,他在看窗外。

  雪還在下。

  …………

  監控室。

  斷網執行後第三分鐘。

  匯總面板上,兩側的數據已經出現了分化。

  左邊,工行。

  交易完成:0/100。

  狀態:緩存超時·重連中。

  終端狀態:橙色警告。

  右邊,微光。

  交易完成:100/100。

  狀態:全部完成(離線模式)。

  平均響應時間:12.3ms。

  終端狀態:正常。

  0和100。

  兩個數字並排顯示在匯總面板的正中間。

  戴委員的鉛筆停在半空,筆尖朝下,但沒有落到紙上,他看著那兩個數字,然後他把鉛筆放下了,放在本子上面,黃色筆桿滾了一下,這次滾到了本子的邊緣,差一點掉下去。


  張委員往前傾了一下身體,他的眼鏡反著屏幕的光。

  數據記錄員在填表,她的手指在鍵盤上移動得比之前快了一些。

  值班組長沒有動,他看著匯總面板。

  所長看著匯總面板。

  0/100,100/100。

  他沒有說話。

  沒有人說話。

  …………

  斷網第五分鐘。

  左邊的狀態沒有變。

  」重連中……」

  三個點還在轉。

  右邊的100/100定格在那裡,綠色的。

  斷網第八分鐘。

  左邊,」重連中……」

  右邊,100/100。

  斷網第十一分鐘。

  趙銘遠不知道監控室的屏幕上顯示的是什麼,他在工行的測試間裡,他只能看到自己這邊的終端。

  橙色的燈。

  」重連中……」

  三個點。

  轉了十一分鐘。

  他站在角落裡,手沒有插在口袋裡了,兩隻手垂在身側。

  老方坐在終端前面,雙手交叉放在鍵盤上方,沒有敲任何鍵,他能做的都做了,30秒緩存是他的設計,30秒以外的事不在他的設計範圍內。

  測試間裡安靜得能聽到暖氣管的聲音,和雪打在鐵皮牆上的聲音。

  斷網第十三分鐘。

  」重連中……」

  斷網第十四分鐘。

  趙銘遠靠在牆上,他的後背貼著牆面,牆很涼,隔著襯衫也能感覺到。

  」重連中……」

  三個點轉到了第十四分三十七秒。

  然後——

  網絡恢復了。

  終端的信號指示從灰色跳回了綠色。

  藍燈重新亮起,緩存模塊開始同步,100筆緩存交易在2.8秒內全部回寫完成。

  終端屏幕上」重連中」的提示消失了,替換成了新的文字。

  」網絡已恢復,緩存交易同步完成。」

  100筆交易,全部同步成功。

  但這100筆交易在斷網的十四分三十七秒里,沒有一筆完成過,它們只是被緩存了,被記下來了,等網回來以後才被處理。

  在那十四分三十七秒里,如果有用戶站在終端前面等著付款——

  他什麼都付不了。

  …………

  監控室。

  網絡恢復後十秒。

  匯總面板上的數字更新了。

  左邊,工行。

  交易完成:100/100(網絡恢復後同步完成)。

  離線期間交易能力:0/100。

  緩存超時:30秒。

  用戶等待時間:14分37秒。

  終端狀態:已恢復。

  右邊,微光。

  交易完成:100/100(離線期間全部完成)。

  離線期間交易能力:100/100。

  離線響應時間:12.3ms。

  用戶等待時間:0秒。

  終端狀態:正常(未中斷)。

  兩列數據。

  一列有一行紅色,」離線期間交易能力:0/100。」

  另一列全是綠色。

  所長摘下了老花鏡。

  他沒有揉鼻樑,這次沒有。

  他把眼鏡放在桌上,看著面板。

  安靜了大約五秒。

  然後他戴上眼鏡。

  」繼續。」

  值班組長愣了一下。

  」第二輪斷網,」所長說,」重新生成時長。」

章節目錄