后端是tp6,app端(安卓)想做聊天、私聊功能,不太清楚該如何配合使用
獨立部署tp和gatewayworker,tp端用gatewayclient推送信息到gatewayorkerg再到達用戶端,
那用戶A發(fā)消息給用戶B,也是A通過http發(fā)送到tp,tp再通過gatwayworker發(fā)送給B用戶?
是的,在TP端寫入消息到數(shù)據(jù)庫的同時通過gatewayclient帶的發(fā)送消息方法發(fā)送到gatewayorkerg端,
按手冊一步步來就 行了
好的,謝謝!不過我有個疑問,客戶端app本身是可以直接跟gatwayworker鏈接發(fā)送消息的,為什么還要經(jīng)過tp處理?這樣不會影響性能跟及時性嗎?
這樣的部署只是為了更省事,客戶端直發(fā)送到gatwayworker,涉汲到用戶身份驗證和TP同步,太麻煩,用單向推送的方式,所有的工作扔給TP做,gatwayworker只用于推送消息,就簡單多了, 這是我個人的理解
tp有性能問題加機器就好了,或者用webman代替tp
不如webman,直接在webman中使用gatewayClientSDK, 為什么不建議用tp因為 sdk短鏈接
為什么建議webman,因為內(nèi)存常駐,gatewayClientSDk也是長鏈接每個gateway的,這樣高并發(fā)推送消息吞吐量大
此外你可以繼續(xù)使用tpOrm在webman中,這樣基本開發(fā)的話不需要學新東西
單臺服務器性能不夠的時候,感覺沒有TP加gatewayClient的模式擴容方便?
呵呵笑笑,webman能上Fc函數(shù)計算,無限自動橫向拓展,TP唯一的優(yōu)勢就是,封裝完善,F(xiàn)pm生命周期模型,代碼寫的爛點也能跑
只是現(xiàn)在后端已經(jīng)使用tp6了,不能換了,就疑惑如果消息都經(jīng)過tp6,再用gatewaywoker轉(zhuǎn)發(fā),會不會有性能問題跟消息的及時性問題
如果已是tp6了,就用退而求其次的 gatewayClientSDK,雖然性能沒有達到極致,但是使用新東西還需考慮重構成本和團隊人員學習成本。一般來說,目前只會出現(xiàn)在tp的系統(tǒng)瓶頸中
之前好像看到有一個例子,GW好像都不處理數(shù)據(jù)之類的,只做命令或者叫信號轉(zhuǎn)發(fā),告訴前端該干什么了。