服務端架構設計中的語言選擇

由於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);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章