技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 系统架构 --> MooC的一些设计思路

MooC的一些设计思路

浏览:1800次  出处信息

    题外话

     由于公司业务需要用C做一些实现,和C++不同的是,C并没有太多的库和方案供选择,所以我们只好自力更生,努力重复造车轮。

    做技术十来年的时间,说实话底层技术框架自己也写过不少个,不管是个人业余作品,还是公司业务需要的,又或者是参加开源项目所实现的,底层技术框架面临着设计、解决、实现各个方面的问题。这次MooC的设计希望能够首先满足业务的诉求,同时解决技术拓展方面和技术实施方面的问题。

    MooC是什么

     公司不是以单一产品或者业务驱动的公司,所以在技术实现和业务诉求上要求技术方案能够更快、更方便的实施。从这个角度来说,底层技术框架必须要到达的标准有:

    

  • 实现业务所需要的代码量尽可能的少;(代码量尽可能的少就意味着工期可能会更短)
  • 框架封装不能影响研发人员理解系统本身;(影响理解意味着出现问题及时解决的可能性会降低)
  • 性能不能有明显的劣势或者临界特殊情况;
  • 可以适当的放弃预期业务使用不到的特性或者功能;
  •      基于以上四点,我们决定设计MooC(More & Original C Framework)框架。

        MooC的设计理念

         在Online Game的后端实现中,通常的模式是:

        

  • 用户建立链接
  • 发送登陆请求
  • 返回用户数据
  • 游戏逻辑操作
  •      MooC的设计将以用户消息为主,整个底层以消息接受和消息发送为支撑,基础框架致力于底层系统的搭建,以及通讯协议和通许标准的制定,同时制定请求和响应标准处理流程和方式,并不实际解决具体业务逻辑的处理。

        MooC需要涉及的内容

        

  • MooMem,为提高效率,内存池的实现是必然的
  • MooGC,为方便的管理内存,内部GC的实现也是需要的,但是这个优先级不高
  • MooString,字符串操作处理方式的集合
  • MooVector,C++中vector的C语言实现
  • MooQueue,线程安全和线程不安全的队列的实现
  • MooHashTable,线程安全和线程不安全的HashTable的实现
  • MooLog,Log记录的标准和规范化
  • MooMd5、MooRc4,一些常用加密或者基础算法的实现
  • MooIni,系统配置(server.ini)文件的读取和管理
  • MooXml,常用文件格式的读取(xml、json)
  • MooEvent,epoll、kqueue、select等事件模型的兼容(没办法,公司也许用Linux,自己用mac)
  • MooSocket,Online Game所必不可少的Socket相关支持和封装
  • MooInit,初始化游戏服务器配置和参数读取以及管理的封装
  • MooService,创建游戏服务器所需要的Service相关的方法
  • MooDaemon,游戏服务器以守护进程的方式运行时日志等的特殊处理
  • MooConf,游戏服务器配置文件实时管理系统的对接
  • MooAnalysis,必须系统内部支持统计系统的需求
  • MooDataChange,必须系统内部支持用户数据变更记录系统的需求
  • QQ技术交流群:445447336,欢迎加入!
    扫一扫订阅我的微信号:IT技术博客大学习
    << 前一篇:Skynet 设计综述
    © 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

    京ICP备15002552号-1