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生成项目,并能一次编译成功与运行。

时间: 2024-07-31 06:26:52

HMX-Server-分步式服务器框架(开源+源码)的相关文章

Android 图片加载框架Universal-Image-Loader源码解析

Universal-Image-Loader(项目地址)可以说是安卓知名图片开源框架中最古老.使用率最高的一个了.一张图片的加载对于安卓应用的开发也许是件简单的事,但是如果要同时加载大量的图片,并且图片用于ListView.GridView.ViewPager等控件,如何防止出现OOM.如何防止图片错位(因为列表的View复用功能).如何更快地加载.如何让客户端程序员用最简单的操作完成本来十分复杂的图片加载工作,成了全世界安卓应用开发程序员心头的一大难题,所幸有了Universal-Image-

如何查看JDK以及JAVA框架的源码

如何查看JDK以及JAVA框架的源码 设置步骤如下: 1.点 “window”-> "Preferences" -> "Java" -> "Installed JRES" 2.此时"Installed JRES"右边是列表窗格,列出了系统中的 JRE 环境,选择你的JRE,然后点边上的 "Edit...", 会出现一个窗口(Edit JRE) 3.选中rt.jar文件的这一项:“c:\pr

JUC同步器框架AbstractQueuedSynchronizer源码图文分析

JUC同步器框架AbstractQueuedSynchronizer源码图文分析 前提 Doug Lea大神在编写JUC(java.util.concurrent)包的时候引入了java.util.concurrent.locks.AbstractQueuedSynchronizer,Abstract Queued Synchronizer,也就是"基于队列实现的抽象同步器",一般我们称之为AQS.其实Doug Lea大神编写AQS是有严谨的理论基础的,他的个人博客上有一篇论文<

如何在Eclipse中查看JDK以及Java框架的源码

对于Java程序员来说,有时候是需要查看JDK或者一些Java框架的源码来分析问题的,而默认情况下,你按住Ctrl,再点击 Java本身的类库(例如ArrayList)是无法查看源码的,那么如何在Eclipse中查看JDK以及Java框架的源码呢?下面,跟着我 一起,一步步带你走进源码的世界. 方法一:快速简单 第一步: 打开你的Eclipse,然后随便找一个Java文件,随便找一个Java类库,比如String什么的,然后按住Ctrl,再点击它,你会发现跳到如下界面: 你会发现报错了:Sour

skynet 框架snax源码分析1---变量注入

skynet为了简化服务的编写,推出了snax框架,源码里也有一个例子pingserver.这是snax原创文章的第一篇,所以先就分析snax框架里的interface.lua源码,它的实现应用了一个闭包中的upvalue注入技巧. 凡是框架都得遵循框架的约定,snax有两个大的约定,一是约定了一组预置的接口init/exit/hotfix:二是accept/response这两组用来编写服务的接口.本文,并不涉及这些,而是谈accept/response是如何注入给snax服务的. snax框

分享一直在维护简单实用高效的C++Socket框架Swa-server(开源+源码)

Swa-server 开源框架* 适用于中小型游戏,如:养成.RPG.棋牌等:应用软件,如:聊天室等* 已经封套好底层socket管理,sql请求处理.数据加密解密* 拿来即可开工写业务* Swa-server是面向小型快速开发的框架,所以采用单进程模式,以后更新也是单进程方案去解决所遇到的问题,这样可以减少开发时间与人力(其实很多服务器用单进程就够了) * 支持IO异步(基于boost库IO)* 支持sql异步执行(有回调函数)* 玩家管理器* 数据库管理器 项目中例子* 1.请求获得动态密码

Android 轻量级ORM数据库开源框架ActiveAndroid 源码分析

ActiveAndroid 项目地址在https://github.com/pardom/ActiveAndroid 关于他的详细介绍和使用步骤 可以看下面两篇文章: https://github.com/pardom/ActiveAndroid/wiki http://www.future-processing.pl/blog/persist-your-data-activeandroid-and-parse/ 请确保你在阅读本文下面的内容之前 熟读上面的2篇文章.我不会再讲一遍如何使用这个框

OPC2.0服务器开发包源码 opc服务器源代码 server 源程序DLL

1,vc++6.0软件完整工程 2,opc da2.0 服务器开发包,没有任何限制,例子提供1024个点的演示过程 3,opc核心封装成dll库,提供库源码 4,提供调用opc库的测试程序,演示如果用vc6调用dll的全部过程 5,opc服务器模拟数据项,让用户懂得如何开发自己的opc服务器 6,提供测试客户端,可学习和研究opc服务器的建立过程 7,完美的opc服务器开发包,适合开发自己的opc服务器,简单易用.

SpringMVC+Mybatis框架整合源码

获取[下载地址]   QQ: 313596790   [免费支持更新]A 代码生成器(开发利器);全部是源码     增删改查的处理类,service层,mybatis的xml,SQL( mysql   和oracle)脚本,   jsp页面 都生成   就不用写搬砖的代码了,生成的放到项目里,可以直接运行B 阿里巴巴数据库连接池druid;  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势C 安全权限框架shiro ;  Shiro 是一个用