搜课云网 > 杭州新影教育 > 资讯总汇 > C/C++服务器架构机制设计

C/C++服务器架构机制设计

机构:杭州新影教育 时间:2016-02-17 14:20:05 点击:851

  基于同一个配置系统,分层实现不同的需求。更简单的说,解决的1个实际问题是:自己改了配置文件中的ip,上传svn后,覆盖了别人的配置,很多人的解决方法都是,本地配置不提交。

  但同时问题又来了:当配置中有别人新加的系统配置,怎么保证每个人都能更新到?上线后,服务器交付运维,他们会对配置有一定程度的修改,这个时候怎么合并程序配置和运维配置?

  其实对于冲突的需求,只要对系统进行分层就可以解决问题,我的处理方式是将配置分为:

  · 全局配置: 所有服务的总体配置

  · 单服务配置: 本服务的配置,涉及网络及逻辑

  · 本地配置: 这个配置每个人一份,不上传SVN

  · 命令行配置: 格式和前面的一致,这块就可以通过运维进行配置

  总体结构其实就是OO的派生概念,下层可以覆盖,修改上层的配置

  服务器互联及识别框架

  基本功能: 基于一些简单的配置就可以将多台服务器,同种类的不同服务器互相连接起来,断线自动重连。

  服务器连接后,所有服务器可知晓并可自动按需连接。逻辑端也很方便的进行广播或者单独发送等。

  也就是说,每个服务器的连接和接受端都是带识别名称或id的。后面觉得这套东西实在是做的复杂,多整出一台中心服务器来做。但好歹框架稳定下来了,也就好了。

  基于lua的服务器web后台框架

  思想是很不错的, C++ 配合lua本身绝对是个失败。问题出在web处理,本身都是一个同步阻塞过程,而这个后台框架是异步方式来做,所以特别别扭。

  不过比起以前的本地GM系统,这块的设计是伟大的进步。现在正在设计基于golang的服务器框架,基本框架已经完工,等待编写逻辑后的实战测试

  以上的很多思想在golang的服务器框架都有改进,特别是golang本身做web也是优秀的,外加martini这种牛X框架,更是水到渠成。

  了解更多关于影视动漫方面的知识,请访问杭州影视动漫培训学校

师资介绍