在浪費(fèi)任何錢之前,我需要更多經(jīng)驗(yàn)的指導(dǎo)。請(qǐng)看我的場(chǎng)景。300 個(gè)客戶端需要全天檢查來(lái)自服務(wù)器的數(shù)據(jù)。每個(gè)客戶數(shù)據(jù)將在不同的未知時(shí)間可用。每個(gè)客戶端每天最多可以下載 30 次 5kb 的數(shù)據(jù)。重要的是每個(gè)客戶在 5 分鐘內(nèi)檢測(cè)到他們的可用數(shù)據(jù)。我不想強(qiáng)迫每個(gè)客戶端設(shè)置靜態(tài) IP 或打開端口。因此,我相信將數(shù)據(jù)從服務(wù)器發(fā)送到客戶端不是一種選擇。我必須想出最合適的方式讓客戶端從服務(wù)器請(qǐng)求數(shù)據(jù)。我考慮過(guò)設(shè)置 300 個(gè)客戶端每 3 到 5 分鐘輪詢一次可能的數(shù)據(jù)。每個(gè)客戶端每天最多可以下載 30 次 5kb 的數(shù)據(jù)。他們不會(huì)在每次投票時(shí)下載數(shù)據(jù)。假設(shè)帶寬和速度不是問(wèn)題,并且我可以獲得可升級(jí)的專用服務(wù)器;每 3 到 5 分鐘同時(shí)連接 300 個(gè)客戶端是否被視為激進(jìn)輪詢?預(yù)計(jì)每個(gè)客戶端每天最多可下載 30 次 5kb 的數(shù)據(jù)。這種方法在網(wǎng)絡(luò)和硬件資源方面是否不合理?有更好的方法嗎?感謝您的時(shí)間。
1 回答

臨摹微笑
TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊
它一點(diǎn)也不激進(jìn),每 3 到 5 分鐘有 300 個(gè)客戶端(假設(shè)它們按時(shí)間均勻分布)是每秒 1.6 個(gè)請(qǐng)求(3 分鐘)或每秒 1 個(gè)請(qǐng)求(5 分鐘),這在吞吐量方面算不了什么。
考慮到每個(gè)客戶端只傳輸(最終)5KB 的數(shù)據(jù),這對(duì)硬件來(lái)說(shuō)并不是什么大問(wèn)題,或者會(huì)在任何地方造成瓶頸。
如果從服務(wù)器推送不可行,那么您考慮遵循的方法是可以的。
一種替代方法是使用“隊(duì)列”,例如來(lái)自 Azure 服務(wù)總線的主題/訂閱。對(duì)于這樣一個(gè)簡(jiǎn)單的場(chǎng)景來(lái)說(shuō),這太過(guò)分了,但是,它在服務(wù)(服務(wù)器)和客戶端之間提供了一個(gè)“適當(dāng)?shù)摹笨煽康漠惒酵ǖ溃撏ǖ缼缀蹩梢詫?shí)時(shí)工作,而且好處是您將推遲所有過(guò)載以保持為此目的設(shè)計(jì)的平臺(tái)的通信模式。
- 1 回答
- 0 關(guān)注
- 118 瀏覽
添加回答
舉報(bào)
0/150
提交
取消