跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 请教,如何实现所有用户在一个群组中聊天?
未分類
15 12 月 2020

请教,如何实现所有用户在一个群组中聊天?

请教,如何实现所有用户在一个群组中聊天?

資深大佬 : lucifeSe7En 4

有这样一个需求,需要 app 的所有用户可以在公屏上进行聊天。因为我们选用的腾讯的即时通讯 im,腾讯那边的群组系统并不能满足我们的需求。app 的用户数量初步预计为>10000 人,腾讯方的群组系统,只有直播群是没有人数限制的,但是有一点,直播群是没有消息记录的。另外几个的群组虽然有历史消息,但是最高也只支持 6000 人的上限。想问问有没有只通过腾讯就能解决的方案?如果没有,其他的解决方案也可以

大佬有話說 (40)

  • 資深大佬 : takemeaway

    想象一下一万人在一个群里面,说一句话都被秒淹没。

  • 資深大佬 : aloyuu

    1 万人同时说话,1 秒 1 万条

  • 資深大佬 : RudyS

    discord ?

  • 資深大佬 : wr516516

    这能聊起来吗?

  • 資深大佬 : k1z

    电报不是这样的吗。 之前胴体好像 14W 人?

  • 資深大佬 : AoEiuV020

    提到多人群就是电报了,几十万人群狂刷消息一点不卡,不知道怎么做到的,

  • 資深大佬 : opengps

    自己能实现,但是这个并发规模延迟会很明显。任何一个人发言,都要对另外上万 tcp 连接下发消息

  • 資深大佬 : opengps

    说电报不卡的,只是作为自己一端的感受。实际这么大规模的批量下发和延迟,本身就是个难以突破的问题,更何况各位用电报本身就有网络线路上的一层高延迟了

  • 主 資深大佬 : lucifeSe7En

    @takemeaway 只需要保证可以在群里说话就行,同时说话的情况先不考虑

  • 資深大佬 : jhiiii

    1, 反过来,app 去后端拉。 一边推一边拉
    or
    2,N 个小群组组成一个大群组

  • 資深大佬 : janus77

    电报实现了,但是具体技术就不是我能知道的了 属于商业机密吧

  • 資深大佬 : liian2019

    如果是 java 的话 ,推荐 netty

  • 資深大佬 : annielong

    光看百人的 qq 群同聊刷新的 都快看不出来了,感觉电报应该没有全部显示

  • 資深大佬 : XiLingHost

    要不然试试用 xmpp 的 muc ?搞个 ejabberd 集群试试

  • 資深大佬 : kiracyan

    感觉是个伪需求 1W 人同时在线聊天 想想就可怕

  • 資深大佬 : Tink

    直播啊

  • 資深大佬 : Tink

    弹幕

  • 資深大佬 : oneonesv

    打电话给腾讯销售给你提高上限

  • 資深大佬 : rimutuyuan

    对,直播弹幕,像 pdd 开播那天都卡死了

  • 資深大佬 : HeiHeiDe

    直播

  • 資深大佬 : coderxy

    这种全服的就是可以用聊天室啊,在线就收到,不在线就收不到呗。 或者想的简单一点,用 http,发消息就自己写到数据库里,然后所有在线用户每隔 1S 拉一下最新消息,也能实现。

  • 資深大佬 : vizee

    用腾讯直播方案,自己再写一个服务端收集直播间消息,给客户端查历史消息用就行了

  • 資深大佬 : firefox12

    14 万用户 又不是都在线, 消息都在内存里,拉起来很快的,毫无难度。不去实现这种需求是 因为这种需求跑起来根本毫无体验。我能开发出 350 公里的车,谁能开?舒马赫吗?卖给谁呢? 所以谁去造这种车?

  • 資深大佬 : dcty

    腾讯方的群组系统,只有直播群是没有人数限制的,但是有一点,直播群是没有消息记录的。
    =======================================================
    用户发送消息的时候往自己的服务器发一份。
    另外,消息分发肯定要有策略的,考虑极端情况,一秒内,10000 人都发了消息,客户端接收这么多消息并且进行上屏渲染滚动,手机会成为暖手宝的。

  • 資深大佬 : duxiansen

    之前不都是吐槽微信群人数限制的太少了,tg 都能支持几十万人,看前面评论,风向咋变了

  • 資深大佬 : Lemeng

    这样的大群,没意义,两千人的群,还能接受,平日都会信息淹没。人说,群里和你说了,可真没看到,除非是 @过‘才能收到
    当然如果僵尸账号多的话,就另当别论了

  • 資深大佬 : dimlau

    @opengps

    「不卡」这里就是指的自己手机不卡顿;延迟是另一码事。

    这是相对于一些即时通讯软件大量消息时软件交互就卡来说的。

  • 資深大佬 : laminux29

    服务器倒是没什么难度,毕竟才万人,从平时的经验来看,会踊跃发言的人很少。

    但问题是,客户端能否扛得住压力,而且客户端掉线后,还要拉历史记录,压力全在客户端了。

    这个问题就转化为:当客户端性能不足时,如何取舍业务,来优化用户体验。

  • 資深大佬 : clayyj1210

    @laminux29 服务器倒是没什么难度。。。信息扩散很恐怖。

  • 資深大佬 : puzzle9

    使用 socket.io
    然后 自研

  • 資深大佬 : westoy

    分布式 MQ + P2P 广播 + 客户端去重

    问题是鹅厂都主动规避的业务场景, 你们为啥头铁….

  • 資深大佬 : wzzzx

    首先应该讨论一下需求的合理性

  • 資深大佬 : Maboroshii

    作为开发还是讨论一波,虽然主问的是腾讯的方案。
    客户端当然是要分页拉消息,永远只拉取最新的 n 条新消息然后根据需要往回读。
    服务器就先存储后转发就行。

  • 資深大佬 : kenanremix

    网易的可以,上家公司群里 4w 人 都可以说话

  • 資深大佬 : dorothyREN

    telegram 群支持 20w 人

  • 資深大佬 : yanqiyu

    telegram 大概没问题,但是看起来不保证收到消息先后顺序在每个客户端一致

  • 資深大佬 : yfwl

    这么多人聊天不行,要不弹幕吧 然后不拉历史消息或者留存最近的历史消息

  • 資深大佬 : Coolee

    几百人的群体验已经很差了,一万人的体验。。。如果能限制 5 秒连续发两条

  • 資深大佬 : shunconf

    telegram +1 但是你的考虑到所有的用户都有翻墙软件

  • 資深大佬 : opengps

    @yanqiyu 其实 tg 是个非常简陋的程序,看安装包就知道了,卡,其实有一层原因在于干的事情有点多,比如 qq 多出来的富文本处理,气泡效果,各种自定义动画,甚至贴表情,个顶个的功能都是重武器,没法轻的了

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具