有個挺頭疼的問題:設備要保持在線,隨時響應主人的召喚,但又不想太費電。
這時候,長連接技術就像是位聰明的勇士,找到了在節能與響應速度之間的平衡點。
長連接勇士的日常優化
想象一下,你手機里的那些應用,它們就像是王國里的勇士,時刻待命。但傳統的做法是,它們不停地和服務器聊天(發送和接收數據),這自然很耗電。
有一位長連接勇士呢,它聰明地設定了“鬧鐘”,只在需要的時候才跟服務器打個招呼,其余時間就安心休眠。
更絕的是,它還發現每次和服務器聊天時,其實真正有用的信息就那么一小會兒。
于是,它進一步縮短了每次聊天的時間,只傳遞最關鍵的信息,然后馬上回去睡覺。這樣一來,電量就省下來了。
省電智者的思考
省電智者默默觀察著這一切, 并深入思考了長連接勇士的實踐
減少通信次數和通信時長, 就可以節省王國的糧草
省電智者把規律刻在了一塊大石頭上
次數(↓) * 時長 = 耗電量(↓)
次數 * 時長(↓) = 耗電量(↓)
次數(↓) * 時長(↓) = 耗電量(↓↓)
省電智者又思考另外一個問題,
如何在王國量產和迅速醒來之間達成平衡呢
他打聽到另外一個王國-降功耗找合宙, 原來他們的王國一直就有深耕這一領域, 在次數/時長/糧草之間獲得了平衡
PRO模式 --> 次數 * 時長(↓) == 耗電量(↓)
STD模式 --> 次數(↓) * 時長(↓) == 耗電量(↓↓)
那代價是什么呢?
然而,這種節能方式也有其代價。
長連接勇士減少了通信次數和時長,可能會導致錯過重要的信息或信息不完整。
如果通信次數太少或時間太短,甚至可能被傳遞消息的驛站誤判為故障,從而被忽略。
那應該怎么辦呢?
長連接勇者向省電智者求助, 而遠方主人也了解到這個情況, 他表示可以多喊幾次, 確保勇士們總能聽到。
真實世界中的答案
在業務側多發幾次. 假設一次的成功概率是99.9%, 那么喊三次的成功概率就是
(3*99.9%)= 299.7%.
不好意思串臺了, 前面的是臺灣算法,
正規算法應該是
1- (0.1% * 0.1% * 0.1%)= 99.9999%
也就是百萬分之一的概率, 已經是極小概率事件了, 甚至小于TCP的丟包率了。
審核編輯 黃宇
-
省電
+關注
關注
0文章
14瀏覽量
8174 -
連接
+關注
關注
2文章
95瀏覽量
20965
發布評論請先 登錄
相關推薦
評論