02 2012 档案

大规模服务设计部署经验谈(全)
摘要:注意,这是公司内部一位同事整理的,我经过这位老兄(http://hi.csdn.net/fullsail)的同意,把他转到我的blog。原文英文地址: http://www.mvdirona.com/jrh/talksAndPapers/JamesRH_Lisa.pdf 网上应该只能找到(上)和(中),没有下篇,这个文章是从程序员杂志上一章章抠出来的,好东西值得这样折腾,感谢原文的翻译者。大规模服务设计部署经验谈本文中提出的最佳实践,来自于作者多年大规模服务设计和部署的经验,为设计、开发对运营友好的服务提供了一系列良好的解决方案。■ 文/James Hamilton 译/赖翥翔1 引言本文就设 阅读全文

posted @ 2012-02-29 14:15 daemonh 阅读(320) 评论(0) 推荐(0)

记录一下 __gnu_cxx::hash_map传一个新allocator的写法
摘要:老得查代码写,这里记录一下:hash_map(size_type __n, const hasher& __hf, const key_equal& __eql, const allocator_type& __a = allocator_type()) // 全局的角色指针Allocator __gnu_cxx::__pool_alloc<Role*> g_rolePtrAlloc; typedef __gnu_cxx::hash_map< uint32_t, Role*, __gnu_cxx::hash<uint32_t>, ... 阅读全文

posted @ 2012-02-23 16:30 daemonh 阅读(354) 评论(0) 推荐(0)

内存碎片和memcached slab控制碎片方法
摘要:转自:http://blog.csdn.net/xuzhonghai/article/details/7285821内存碎片的产生:内存分配有静态分配和动态分配两种 静态分配在程序编译链接时分配的大小和使用寿命就已经确定,而应用上要求操作系统可以提供给进程运行时申请和释放任意大小内存的功能,这就是内存的动态分配。 因此动态分配将不可避免会产生内存碎片的问题,那么什么是内存碎片?内存碎片即“碎片的内存”描述一个系统中所有不可用的空闲内存,这些碎片之所以不能被使用,是因为负责动态分配内存的分配算法使得这些空闲的内存无法使用,这一问题的发生,原因在于这些空闲内存以小且不连续方式出现在不同的位置。因此 阅读全文

posted @ 2012-02-23 10:04 daemonh 阅读(299) 评论(0) 推荐(0)

MMORPG类网络游戏的典型架构
摘要:MMORPG的特点是角色之间一般可见;有不同类型的地图,包括开放地图(城市、村庄等)和封闭地图(副本、大型战场和小型PK房间等);有各种RPG组织元素(如公会、家族等)。架构设计逻辑服务器部分的出发点是根据上面的特点设计的。一般可以用下面的架构: MMORPG的后台其实就这么简单,架构不复杂。对后台架构经验较少的兄弟,别太纠结,就用这个简单的架构一般就可以满足商业运营要求了。gated 前端接入服务器,主要功能是连接接入,消息接收和发送,也可以包括加解密和解压缩功能。ctrld 一个指挥控制的服务器,控制整个服务器组角色的状态,登录初始化也在这里处理。client进入游戏前的角色列表一般也从这 阅读全文

posted @ 2012-02-22 21:18 daemonh 阅读(618) 评论(0) 推荐(0)

即时通讯系统架构
摘要:有过几款IM系统开发经历,目前有一款还在线上跑着。准备简单地介绍一下大型商业应用的IM系统的架构。设计这种架构比较重要的一点是低耦合,把整个系统设计成多个相互分离的子系统。我把整个系统分成下面几个部分:(1)状态消息系统 (2)好友系统 (3)P2P系统 (4)其他扩展业务系统先看状态消息系统 connd client接入服务器,可以支持UDP,也可以支持TCP,一般建议优先选择TCP。connd可以布置多台,client接入时,可以用简单的DNS轮询的方式实现负载均衡。connd功能是维护连接和转发消息包。pconnd proxy connd, 代理接入服务器,是connd的扩展,除了... 阅读全文

posted @ 2012-02-12 13:54 daemonh 阅读(704) 评论(0) 推荐(0)

SNS游戏中的数据特征随笔
摘要:我们正在开发的一款游戏有MMO的特征,就是有任务,有战斗;同时又存在大量SNS行为,比如某个角色宠物可以找某个离线好友角色的宠物战斗,找离线角色的宠物修行等。估计目前SNS类的游戏都有这两种用户行为。这样我们看游戏中的数据:角色、宠物、道具、任务、成就、好友、修行、其他乱七八糟的数据。这些数据当中,道具、任务和成就数据,没有特殊需求的话,是不存在离线操作的。所以,这类数据的加载、回写和访问可以按照MMO游戏的处理方式。MMO处理方式,一般是用户登录时加载数据一个公用Cache,切换服务器时,从cache加载新数据,登出时回写数据。Cache可以直接做个简单的LRU淘汰机制。其他数据就按照SNS 阅读全文

posted @ 2012-02-09 17:25 daemonh 阅读(159) 评论(0) 推荐(0)

导航