为什么oicq可以支持那么多用户,用的是多层分布式吗?听说各省都有服务器,假如我是沈阳的用户,我的程序会自动连接到辽宁省的服务器上吗?这中情况可能吗?(66分)

  • 主题发起人 主题发起人 wanglonga
  • 开始时间 开始时间
W

wanglonga

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么oicq可以支持那么多用户,用的是多层分布式吗?听说各省都有服务器,假如我是沈阳的用户,我的程序会自动连接到辽宁省的服务器上吗?这中情况可能吗?
 
我想知道OICQ靠什么养活自己?就是想不明白。
 
因为OICQ用户进入聊天状态时,是使用点对点的的通信协议,而不通过服务器了,要不再好的服务器也要出问题;
 
对的,OICQ其实对服务器的压力比WEB要小得多,首先只有登录、注册、服务器中转消息等时候才需要与服务器联系,并且与服务器联系也是象HTTP一样连接、通讯、断开,真正同时使用服务器的并不多。

OICQ登录的时候确实可以选择不同的IP,如果这些IP映射的是不同的机器,那么这些机器之间的在线人员信息同步是算法反而复杂,我不知道OICQ是怎样处理的。

我自己写了一个类似OICQ的东西在系统内使用,我的多个服务器是通过用中心服务器交换数据的方法实现数据同步的,并不是真正的分布式系统。各服务器都相当于是中心服务器的缓冲服务器,当服务器严重登录信息的时候,如果改用户账号信息已经在本地就直接验证,验证失败或者不存在的时候就向中心服务器请求更新该用户账号数据。当用户登录的时候就把用户在线状态改变的信息报告中心服务器。最后发现这些服务器之间的信息交互太平凡,现在已经在修改,所有用户直接连接中心服务器,边界服务器只是简单的转发(相当于代理)
 
TO:samboy111我靠:廣告、賣虛擬肖像、手機強行服務(每月N元)。那麼多人,就有那麼多的N元。
 
但是我就是不明白,我用的是网通的宽带,一般情况下别人的机是访问不到我的机的。那我是怎么跟其它人通信的呢?QQ是怎么躲过网通的防火墙的呢?
 
多人接受答案了。
 
后退
顶部