游戏事件队列:架构与实战经验

之前我们聊过瞬时事件和非瞬时事件,对于24小时运行的网页游戏来说,会产生大量的非瞬时事件。为了高效处理,通常的做法是将这些事件统一放入一个队列,并按结束时间排序,这就是事件队列。 然后,通过一个触发器,在事件预设时间点自动执行相应操作。

实现事件系统的方法有很多,这里介绍两种:

1. 数据库方案:

- 在数据库中创建内存表来存放事件队列,通常包含开始时间、结束时间、事件类型、事件参数等信息。

- 使用PHP循环查询该表,处理到期事件并删除对应记录。

2. 消息队列方案:

- 利用Linux消息队列存储游戏事件。

- PHP定时监听消息队列,处理到期事件并删除对应消息。

ppt 文件大小:850.5KB