久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

java - 面試題,10w臺設備要求查詢在線狀態,應該用什么技術?

瀏覽:109日期:2023-12-18 16:54:57

問題描述

對于高并發不太了解,這種應該怎么處理?高并發有什么入門書籍嗎

問題解答

回答1:

直接用TCP 長連接~ 智能家居一般 MQTT 協議比較多~~長連接比輪詢省太多資源了~單機情況下還是可以實現的,當然,算上數據庫就另說了。

回答2:

這里想考察你對分布式架構的認識,就這個問題應該是想考察你對于服務發現(service discovery)的認識。分布式就是把一個大型項目進行模塊化拆分,然后各模塊在做集群部署,前端有一個路由服務器來對到達的請求進行分發,把到達的請求路由到能夠提供服務的服務端,而哪臺服務器能夠提供服務這就是服務發現所要做的事情,而在集群環境下能夠提供相等服務的服務器肯定不止一臺,那到底該由那臺服務器對用戶的請求進行處理并響應呢?這就又引出了負載均衡,由負載均衡層通過特定的算法來判斷應該由那臺服務器提供服務,目的就是均勻的把請求分發給各個服務端。服務發現可以了解下Apache的zookeeper或者Netflix的Eureka。微服務這塊spring cloud提供了全套的解決方案,還有阿里的dubbo

回答3:

分布式session管理

回答4:

我出個簡單一點方案給設備安裝一個代理進程,設備啟動時啟動該進程,然后由進程主動定時向服務器上報設備狀態,如果超過一定周期沒上報就認為該設備已經離線

回答5:

高并發,異步通信。java 的話。。。 經典的 netty ?個人意見,按目前的單機性能,100k并發單機能撐住,分布式處理不是必選項,當然要是算上數據庫存儲什么的就另說了。

回答6:

假如不考慮長連接的話,有個思路 利用redis設置一個每個設備上線flag并設置其一個有效時間 客戶端每次做上行請求的時候刷新該有效時間 每次統計redis在線狀態設備數量就好了 這里關鍵是這個時間的長度怎么來定 因為一直是做后端的 不清楚這里客戶端不活躍的情況下能保持在線多久 是否有類似守護進程之類的

回答7:

把數據存儲在redis里面,存取相對于db快

回答8:

是我的話,我會這樣做:新建一個MySQL內存表(ENGINE=MEMORY):online(user_id, update_time)用update_time記錄用戶最近訪問時間.比如可以假設在5分鐘以內的用戶都認為在線.

回答9:

可以分層實現,舉個例子,比如10w臺機器,分別向10臺機器上報本機狀況,10w臺怎么對應10臺,可以通過hash映射的方式,然后這10臺機器再把出現故障的機器向一個固定的主機上報情況,大概意思就是10w-->10-->1,上述例子可能存在單點故障,可以通過改變上層機器數解決單點故障

標簽: java
相關文章:
主站蜘蛛池模板: 欧美黄色片免费观看 | 久草在线 | 成人福利在线 | 午夜婷婷激情 | 精品久久中文字幕 | 黄色91在线 | 美女操av | 99在线观看 | 久久av网 | 中文字幕一级毛片 | 久久综合一区二区三区 | av一级毛片 | 中文字幕综合 | 国产毛片毛片 | 99精品欧美一区二区三区综合在线 | 伊人网在线视频观看 | 操人视频网站 | 午夜a v电影| 亚洲色图p | 国产成人精品一区二区视频免费 | 精品日韩中文字幕 | 欧美中文在线 | 国产精品视频一区二区三区, | 亚洲综合视频一区 | 久久精品国产亚洲一区二区三区 | 欧美日韩亚洲成人 | 日韩一区二区在线免费观看 | 久久精品久久综合 | 97久久久国产精品 | 国产亚洲精品精品国产亚洲综合 | 三a毛片| 久久久久久久久99精品 | 国产免费av在线 | 日韩拍拍 | 在线视频亚洲 | 欧美激情在线播放 | 国产传媒在线视频 | 综合久久综合 | 久久窝 | 国产欧美日韩在线观看 | www.avtt天堂网 |