ioGame21 发布,史诗级增强,质的飞越;Java Netty 轻量级网络游戏服务器框架

ioGame21 首发计划

框架版本更新日志 (yuque.com)

ioGame21 首发内容简介

在 ioGame21 中,该版本做了数百项优化及史诗级增强。

#76 游戏对外服缓存

更多的介绍,请阅读游戏对外服缓存文档。

游戏对外服缓存,可以将一些热点的业务数据缓存在游戏对外服中,玩家每次访问相关路由时,会直接从游戏对外服的内存中取数据。这样可以避免反复请求游戏逻辑服,从而达到性能的超级提升;

#213 游戏对外服开放自定义协议

更多的介绍,请阅读游戏对外服的协议说明文档。

开发者可自定义游戏对外服协议,用于代替框架默认的 ExternalMessage 公共对外协议。

#234 心跳响应前的回调

更多的介绍,请阅读心跳设置与心跳钩子文档。

在部分场景下,在响应心跳前可添加当前时间,使得客户端与服务器时间同步。

#235 FlowContext 增加通信能力,提供同步、异步、异步回调的便捷使用

更多的介绍,请阅读 FlowContext 文档。

#236 FlowContext 增加更新、获取元信息的便捷使用

更多的介绍,请阅读 FlowContext 文档。

更多的介绍,请阅读 ioGame 线程相关文档。

虚拟线程支持,各逻辑服之间通信阻塞部分使用虚拟线程来处理,避免阻塞业务线程。

默认不使用 bolt 线程池,减少上下文切换。ioGame21 业务消费的线程相关内容如下:

在 ioGame21 中,框架内置了 3 个线程执行器管理域,分别是

从工具类中得到与用户(玩家)所关联的线程执行器

从 FlowContext 中得到与用户(玩家)所关联的线程执行器

日志库使用新版本 slf4j 2.x

#230 支持全链路调用日志跟踪;

更多的介绍,请阅读全链路调用日志跟踪文档。

开启 traceId 特性

该配置需要在游戏对外服中设置,因为游戏对外服是玩家请求的入口。

将全链路调用日志跟踪插件 TraceIdInOut 添加到业务框架中,表示该游戏逻辑服需要支持全链路调用日志跟踪。如果游戏逻辑服没有添加该插件的,表示不需要记录日志跟踪。

#228 分布式事件总线是新增的通讯方式,可以代替 redis pub sub 、 MQ …等中间件产品;分布式事件总线具备全链路调用日志跟踪,这点是中间件产品所做不到的。

文档 – 分布式事件总线

在 ioGame21 中,该版本做了数百项优化及史诗级增强。

文档:17 迁移到 ioGame21

框架整体预览导图

ioGame 网络游戏服务器框架简介

你是否想要开发一个高性能、稳定、易用、自带负载均衡、避免类爆炸设计、可跨进程跨机器通信、集群无中心节点、集群自动化、有状态多进程的分布式的网络编程服务器呢?如果是的话,这里向你推荐一个由 java 语言编写的网络编程框架 ioGame。下面将会从多个方面来对框架做一些简单的介绍。

未经允许不得转载:岩猫星空网 » ioGame21 发布,史诗级增强,质的飞越;Java Netty 轻量级网络游戏服务器框架