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

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 微信这种等级的软件是如何实现全球用户在统一的数据库里,并且用户在不同的大陆能隔着老远发消息的?
未分類
11 9 月 2020

微信这种等级的软件是如何实现全球用户在统一的数据库里,并且用户在不同的大陆能隔着老远发消息的?

微信这种等级的软件是如何实现全球用户在统一的数据库里,并且用户在不同的大陆能隔着老远发消息的?

資深大佬 : abcbuzhiming 6

微信,非死不可,WhatsApp,基本都接近实现了全球部署。我能猜到他们肯定需要在当地部署服务器进行就近服务,但是大部分在当地部署服务的网站 api 类应用,都是没有实现统一数据库的,即所谓的“国内国外用户分开”处理方式。但是这类超级 app 不仅实现了统一数据库(所有用户可视为在一个服)。还能在不同的大陆隔着老远发消息。

统一数据库现在有不少分布式论文,虽然不完美但是如果愿意放弃一些特性的话,有可用实现。不同的大陆隔着那么远的海洋他们还能发消息,这个消息的延迟现在能压低到多少了,他们是怎么实现这个的,是不同的服务器之间拉专线光纤来实现互通吗,还是有什么特殊套路?

大佬有話說 (21)

  • 資深大佬 : opengps

    实际并不是一个 /台 /区服务器,而是跨地域的多 set

  • 主 資深大佬 : abcbuzhiming

    @opengps 多 set 是指的什么意思?

  • 資深大佬 : imn1

    那些服务器的技术我不懂,我只知道
    先发送,后保存
    先保存,后发送
    两者区别很大

  • 資深大佬 : cloverstd

    不同的用户可以存在不同的机房,比如大陆的用户,存在大陆机房,海外的在海外的机房
    用户打上机房的标签,同机房的用户给同机房的发消息,可以不跨机房
    如果发送时,发现是其他机房的用户,就路由到对应的机房去,延迟的话,跨机房走专线,基本就是物理上的延迟了

    上面是我猜的

  • 資深大佬 : Stain5

    参考下电信运营商怎么做的 能够解决你很多问题

  • 資深大佬 : laminux29

    题主觉得跨大陆信息传输的延迟很高吗?想想 PUBG ?

  • 資深大佬 : TimePPT

    异地多活同步啊,大厂都这么玩

  • 資深大佬 : wysnylc

    你可以从 DNS 分地区负载开始看起

  • 資深大佬 : Lynalmost

    @cloverstd 可以这样理解

  • 資深大佬 : whileFalse

    我记得有个文章说过,他们分杭州服和北美服。用户注册是哪个服就不会变了。

  • 資深大佬 : locoz

    微信的技术人员有写过他们的技术实现,你可以搜一下,我记得是类似于 #4 说的那种

  • 資深大佬 : yangbonis

    统一不统一没有你想象的差异那么大,都是在不同层面做相同的事情罢了。

  • 資深大佬 : kerro1990

    首先反代服务器 IP 估计是广播的方式,然后调度到附近的数据中心,不同数据中心用专线跨机房数据同步,消息发送看怎么路由的了,微信 ID 肯定包含了路由信息,只不过是加密的

  • 資深大佬 : chinvo

    https://www.infoq.cn/article/the-road-of-the-growth-weixin-background/

  • 資深大佬 : flynaj

    微信都是你发送到服务器,然后服务器又转发出去,所以有些东西你是发不出去的。

  • 資深大佬 : Jerami

    运营商-微信 pop-腾讯骨干网-数据中心
    运营商 A-微信 pop-腾讯骨干网-微信 pop-运营商 B

  • 資深大佬 : Jerami

    所以说美国禁止与微信的对等互联了嘛

  • 資深大佬 : gaius

    统一用户服务,分布式数据裤呗

  • 資深大佬 : opengps

    @abcbuzhiming 刚刚留意到漏掉了你的问题,搜一下“SET 化”,也可以了解下“异地多活”类的信息
    再给你举一个例子(数据为印象中的大概值):天津港当年事故期间,腾讯天津机房距离爆炸中心不足 5 公里,其负载了 2-3 亿,随时面临断电风险,因此腾讯紧急切换了负载,对外表现为用户无感知

  • 資深大佬 : opengps

    @gaius IM 应用相对而言,更重要的是消息转发,而非数据库存储。

    IM 应用最大的资源是骨干贷款,多个机房之间使用骨干网络线路转发。用户到就近 IDC 最然是普通家庭级网络线路,但是 IDC 与 IDC 之前最起码是企业级骨干网络线路。(这同样也解释了“游戏加速器”的原理:就近找个接入点,剩余路线走企业级骨干线路)

    PS:网络结构上的近,只是约等于地理位置上的近,比如北上广之间必然有高带宽多线路,但是往西部来看,网络延迟就表现出来了

  • 資深大佬 : lc7029

    异地多活,BGP Anycast,机房内负载均衡

文章導覽

上一篇文章
下一篇文章

AD

其他操作

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

51la

4563博客

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