sponsored links

服务端架构设计中的语言选择

由于TD项目对战斗中延迟的严格要求,所以负责场景各实体交互、移动、战斗的MapServer必然用非虚拟机语言写,那基本就是C++了。而且有大芒果魔兽SF的代码可以参考。

对于其他业务逻辑服,我希望结构清晰、便于调试、能够动态更新代码,同时不能太慢。

首先,JAVA其实是个不错的选择:

  1. 优点:Eclipse等编译器可以远程调试Windows、Linux上的JAVA程序;
  2. 优点:JAVA代码能动态更新,只要数据与方法分离(之前做《魔神契约》的时候,我们在18个月内在线更新22次,服务端程序无事故);
  3. 缺点:人员招聘困难、讨厌的政治因素;
另外一个选择是Lua:

  1. 调试及编译器:如果用云风的skynet,那基本上开发、调试、运行,就全在Linux上了,但在Linux调试确实不方便;如果自己写一套基于C++和Actor的服务器架构,配上Lua的话,可以在windows上调试。调试器有待寻找;
  2. 优点:动态更新:这方面和JAVA区别不大;
  3. 缺点:用Lua写过大规模服务端程序的人员招聘困难,基本上要靠招C++人员(我自己也没写过20W行的Lua);

Tags: