- 博客(6)
- 资源 (61)
- 收藏
- 关注
转载 浅谈过载保护
雪球:对于时延敏感的服务,当外部请求超过系统处理能力,如果系统没有做相应保护,可能导致历史累计的超时请求达到一定规模,像雪球一样形成恶性循环。由于系统处理的每个请求都因为超时而无效,系统对外呈现的服务能力为0,且这种情况下不能自动恢复。作者bison,腾讯后台开发技术总监。 过载保护,看似简单,但是要做好并不容易。这里用两个曾经经历的反面案例,给出过载保护的直观展现,并附上一点感想。
2012-05-14 16:10:55 2601
转载 天龙八部的BillingServer
从字面上看,Billing是计费的,应该处理玩家在线时间或者包月之类。但是天龙八部是免费游戏,不需要算时间来计费。从代码中看,BillingServer也比较简单,它有一个连接到Web服务器,并监听一个端口,接受一些客户端的连接。从该服务器处理的协议包上看,BillingServer接受LoginServer和WorldServer的连接。BillingServer处理的主要协议包有:
2012-05-12 15:51:10 5673
转载 天龙八部服务器端共享内存的设计(3/3)
2.GameServer的消息响应如下:UINTWGRetUserDataHandler::Execute(WGRetUserData*pPacket,Player*pPlayer )//这么大的数据包是通过网络发过来的pGamePlayer->InitHuman(pPacket->GetUserData(),UDR_USERDATA,pPacket->
2012-05-12 15:50:11 3554
转载 天龙八部服务器端共享内存的设计(2/3)
六、样例分析——玩家角色数据的存储和共享服务器端玩家角色对于的类型是classObj_Human,里面有角色数据库存储接口的定义:protected://存放所有关于Obj_Human的、从数据库里读取的信息HumanDBm_DB;class HumanDB中拥有内存共享对象指针,以及角色需要存储的数据定义。private://共享内存相关数据Human
2012-05-12 15:49:15 3899 1
转载 天龙八部服务器端共享内存的设计(1/3)
一、服务器构架一个天龙八部游戏区,主要服务器部署情况如下图所示:实际部署可能有所不同。区角色数据库可以安装到Machine4,那么一个区有5台物理机器。LoginServer和WorldServer、CharacterDB、BillingServer有连接。WorldServer和各个GameServer有连接。ShareMemory和CharacterDB有连接。一台物理
2012-05-12 15:48:13 9321
转载 天龙八部服务器端Lua脚本系统
一、Lua脚本功能接口1. LuaInterface.h/.cpp声明和实现LuaInterface。LuaInterface成员如下://脚本引擎FoxLuaScriptmLua ;//注册器LuaCFuncRegistermFuncRegister;//场景关联Scene*mOwner;//已经读取的脚本表IDTablem_Scrip
2012-05-12 15:43:33 12124
模拟win7任务栏效果 .
2009-11-26
内核函数实现鼠标钩子 .
2009-11-26
动态加载驱动程序 .
2009-11-26
《Real-Time 3D Terrain Engines Using C++ And DirectX 9 》 .
2009-11-20
P2P之UDP穿透NAT的实现+(附带源代码)
2009-11-10
Struts2教程.chm .
2009-09-19
Visual C++高级编程技巧与实例.[it270.com].pdf .
2009-09-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人