卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

java怎么處理高并發(fā) 高并發(fā)用消息隊列會延遲,還有什么好方法解決?

高并發(fā)用消息隊列會延遲,還有什么好方法解決?首先,您需要知道隊列的應(yīng)用場景在哪里。一般來說,當后臺需要大量的邏輯處理或計算資源時,隊列也可以改善前端的用戶體驗。例如:微博-關(guān)注/粉絲。如果你有1000

高并發(fā)用消息隊列會延遲,還有什么好方法解決?

首先,您需要知道隊列的應(yīng)用場景在哪里。一般來說,當后臺需要大量的邏輯處理或計算資源時,隊列也可以改善前端的用戶體驗。例如:微博-關(guān)注/粉絲。如果你有1000個粉絲,你發(fā)一個微博,1000個粉絲就會收到你的消息。消息隊列適合這種情況。原因:1。推送1000個動態(tài)數(shù)據(jù)是一個耗時的操作,發(fā)送微博頁面需要盡快響應(yīng),這樣就可以將任務(wù)放入隊列中。微博發(fā)送后,會立即生效,但允許粉絲延遲接收微博,通過隊列實現(xiàn)也滿足需求;3.隊列處理可以采用高性能集群架構(gòu)。架構(gòu)實現(xiàn)了關(guān)注點的分離,系統(tǒng)擴展更加靈活

如果需要根據(jù)數(shù)據(jù)量和業(yè)務(wù)復(fù)雜度綜合評估硬件級別,建議購買兩臺云主機(4核8g內(nèi)存)構(gòu)建集群環(huán)境。之后將根據(jù)實際需要進行擴建。

軟件級別:

1。如果是寫操作,應(yīng)該:

1.1使用消息隊列進行異步處理(如ActiveMQ等),避免消息阻塞

1.2使用mongodb的批寫功能,如每1000條數(shù)據(jù)寫一次

2。Mongodb以集群方式部署,可以分散壓力

3。如果是讀操作,可以考慮添加redis來緩存熱數(shù)據(jù)

消息中間件不會丟失消息,主要從以下幾個方面來考慮

1。生產(chǎn)者關(guān)閉

情況是這樣的,在你的生產(chǎn)的同時,生產(chǎn)者必須將消息推送到消息中間件進行異步處理。此時,如果生產(chǎn)者掛斷,消息數(shù)據(jù)將不會被推入消息中間件,并且會發(fā)生數(shù)據(jù)不一致。

在生產(chǎn)者推送之后,將標志位設(shè)置為已交付。另外,啟動一個計時任務(wù)來檢測是否有消息未被傳遞,并確保消息數(shù)據(jù)將進入中間件。

2. 消息重試

消息中間件存儲在磁盤上。存儲在磁盤上的消息不會丟失,磁盤文件也會備份。如果丟失了一個,可以通過備份文件來恢復(fù)。

同樣,會導致重復(fù)消費,這就需要考慮消費的冪等性,可以做消費記錄,防止重復(fù)消費。