目前需要做一個(gè)在線客服聊天系統(tǒng)(類似WebQQ),要求具備高并發(fā)性能和及時(shí)性,目前能想到的架構(gòu)是用DWR反轉(zhuǎn)推送、多臺(tái)tomcat部署工程以及nginx做負(fù)載均衡。通過這段時(shí)間的技術(shù)研究發(fā)現(xiàn),如果所有的聊天用戶(例如:A和B兩個(gè))都在同一臺(tái)tomcat下聊天能很好的實(shí)現(xiàn)預(yù)期效果。但如果均衡后A和B用戶不在同一臺(tái)服務(wù)器下,則不能進(jìn)行相互的消息推送。其中推送這塊我用的最新版DWR的如下方法:Java代碼 Browser.withPageFiltered(WebContextFactory.get().getScriptSession().getPage(), ScriptSessionFilter filter, Runnable task) 究其原因是由于第一個(gè)參數(shù)只能在當(dāng)前服務(wù)器工程的ScriptSession對(duì)象中獲取目標(biāo)頁(yè)面,而且filter也只能從當(dāng)前服務(wù)器工程的ScriptSession中過濾出推送目標(biāo),因此不能進(jìn)行跨工程的推送。
請(qǐng)問各位大神有沒有好的解決辦法和實(shí)現(xiàn)思路???小弟在此不勝感激。
縹緲止盈
2022-10-12 14:11:30