zoukankan      html  css  js  c++  java
  • HMX-Server-分步式服务器框架(开源+源码)

    (原文地址:http://www.cnblogs.com/hellohuang/p/5492302.html )

    这是一个简单实现有分步式框架,由5个服务进程组成一个服务器,它们分别是世界服(Ws),数据库处理服(Dp),场景服(Ss),网关服(Fep),框架的思想用来自工作项目框架(但没有它的代码在里面),下来来讲讲几个进程作用。


    世界服:它是一组服务器的中心,一组服务器有且只有一个,所以它负责联系该组服务器的所有进程,同时也当作共用数据服来用
    数据处理服:它是只要保存数据,缓存数据用的进程,它负责自动从mysql上获得数据,再交给请求者;首先它是从自己内存中查找,找不到,则从数据库加载到内存,再返回给请求者,同时它还定时保存。
    登录服:它是负责管理登录的,帐号密码验证,防暴力破解等功能
    场景服:只要是起分地图或分流作用的。
    网关服:只要是起分流作用的
     
    一组服务器至少要以上5个进程组成,缺少一个不可,由于设计分步式的,所以除了世界服只能一个外,其他场景服,数据处理服,网关服,场景服,登录服都可以开N个(N<少Socket设定最大连接数)
     
    HMX-Server:LIBSocket与LIBMysql总体沿用swa-server相关的代码,代码现在完成基本的底层框架,可以实现多开服务器,里面有一小部分例子,如玩家登录->发送消息->收到消息->退出保存数据等。现在由工作太忙,无法再继续写下去,喜欢的码友,拿去玩吧,HMX-Server按目前,只能适合用于中小并发量的场景,因为现在还有很多东西没有优化,也有少许的bug,将来我会继续优化与加功能,可以应用于大场景。
     
    下面是一些组图:
    ---------------------------------------------------------------------------------------------------
     
     
    ---------------------------------------------------------------------------------------------------------
    ------------------------------------------------------------------------------------------------------------
    ---------------------------------------------------------------------------------------------------------
    ---------------------------------------------------------------------------------------------------------
    ------------------------------------------------------------------------------------------------------
    -----------------------------------------------------------------------------------------------------
     
    代码已经放到了Github中,代码参杂到别的东西的代码时,请无视它,哈哈!
    源码地址:https://github.com/huangzuduan/HMX-Server
    由于boost库与mysql太大,请从下以两个地址下载:

    boost 1.60-x64 http://pan.baidu.com/s/1pL6DheN
    mysql 5.56-x64 http://pan.baidu.com/s/1nu5KZsH

    安装过程请读下载源码中的Readme.txt
    如果大家有疑问:加我QQ:296464231(注明,否则会拒绝的)
    -----------------------------------------------------------
    之前发表过一篇关于SWA-Server项目,它是单进程的服务器,发表后,有少量有网友把它当作入门例子使用,所以现在我在SWA-Server项目中加入了Cmake生成项目工具,方便网友下载后直接可以通过Cmake生成项目,并能一次编译成功与运行。
  • 相关阅读:
    Mac中,在ITerm2下使用ssh访问Linux
    Yosemite下安装jdk、mysql、maven、idea
    SCP对拷如何连接指定端口(非22端口)的远程主机
    Mac下关于python版本的问题
    Mac中命令行zip压缩文件或者目录时,取出隐藏文件和系统文件的方法
    Intellij IDEA 13.1.2发布
    springframework中使用ReloadableResourceBundleMessageSource加载properties文件的问题
    Hibernate-Validator 5.1.0.Final 无法解析自定义占位符的问题
    vs2013如何寻找快捷键
    关于c++的命名空间
  • 原文地址:https://www.cnblogs.com/hellohuang/p/5492302.html
Copyright © 2011-2022 走看看