更正一下对传奇的猜想,
是5个服务器(比奇,沃马,蛇谷,盟重,蜈蚣),SQL SERVRE 可能只有一个,这5个服务器都
读取和写入这个DATABASE.
短信服务(serverice,可以不是独立的机器)应该是有的
还可能有监测和过滤servreice(可以不是独立的服务器),是监测和认证Tcp数据是否正常的.
还有,楼上sonicyou说的某个玩家ID是个object,对它编写一系列状态,然后把状态打包成某个action.
客户端只要发action的第一个状态就可以完成这个action,这样可以节省带宽.
但传奇不是这样,它的动作,比如攻击,分为举起手臂,抡刀1/4,抡刀1/2.抡刀3/4,碰撞,
碰撞后的判断这几个部分,每一个部分都要发到客户端并要客户端显示了才会执行下一
部分.这样对服务器的压力是很重的,对网络的lag是很敏感的.难道这么做只是为了防止
加速吗?
我也认可DNChen的架构比算法重要的说法,毕竟架构和算法对解决问题不是同一层面的东西.
如果传奇用使用深蓝做服务器端,统一数据库,所有场景都用一台很牛而且可以更牛的机器,然后接入服务器可以多台.
这样就可以有效避免许多问题,编程也简单和轻松许多.而且真正能支持万人以上在线,这可舒服了.