tp6与GatewayWorker聊天功能如何架构???

无鞋刺客

问题描述

按照官方架构,是不是每条聊天消息都走http?

后端是tp6,app端(安卓)想做聊天、私聊功能,不太清楚该如何配合使用

截图

1056 3 1
3个回答

aria

独立部署tp和gatewayworker,tp端用gatewayclient推送信息到gatewayorkerg再到达用户端,

  • 无鞋刺客 2023-02-11

    那用户A发消息给用户B,也是A通过http发送到tp,tp再通过gatwayworker发送给B用户?

  • aria 2023-02-11

    是的,在TP端写入消息到数据库的同时通过gatewayclient带的发送消息方法发送到gatewayorkerg端,

  • aria 2023-02-11

    按手册一步步来就 行了

  • 无鞋刺客 2023-02-11

    好的,谢谢!不过我有个疑问,客户端app本身是可以直接跟gatwayworker链接发送消息的,为什么还要经过tp处理?这样不会影响性能跟及时性吗?

  • aria 2023-02-11

    这样的部署只是为了更省事,客户端直发送到gatwayworker,涉汲到用户身份验证和TP同步,太麻烦,用单向推送的方式,所有的工作扔给TP做,gatwayworker只用于推送消息,就简单多了,
    这是我个人的理解

  • keytehu 2023-02-12

    tp有性能问题加机器就好了,或者用webman代替tp

admin

不如webman,直接在webman中使用gatewayClientSDK,
为什么不建议用tp因为 sdk短链接

为什么建议webman,因为内存常驻,gatewayClientSDk也是长链接每个gateway的,这样高并发推送消息吞吐量大

此外你可以继续使用tpOrm在webman中,这样基本开发的话不需要学新东西

  • aria 2023-02-12

    单台服务器性能不够的时候,感觉没有TP加gatewayClient的模式扩容方便?

  • admin 2023-02-13

    呵呵笑笑,webman能上Fc函数计算,无限自动横向拓展,TP唯一的优势就是,封装完善,Fpm生命周期模型,代码写的烂点也能跑

  • 无鞋刺客 2023-02-13

    只是现在后端已经使用tp6了,不能换了,就疑惑如果消息都经过tp6,再用gatewaywoker转发,会不会有性能问题跟消息的及时性问题

  • admin 2023-02-13

    如果已是tp6了,就用退而求其次的 gatewayClientSDK,虽然性能没有达到极致,但是使用新东西还需考虑重构成本和团队人员学习成本。一般来说,目前只会出现在tp的系统瓶颈中

oscar

之前好像看到有一个例子,GW好像都不处理数据之类的,只做命令或者叫信号转发,告诉前端该干什么了。

  • 暂无评论
年代过于久远,无法发表回答
🔝