Summer:一款轻量级的Java游戏服务器框架
1. 项目基础介绍
Summer 是一个轻量级的、一站式的 Java 游戏服务器框架,同时也可用于开发简单的 Web 服务。该框架基于 Netty 实现了高性能通讯,支持多种网络协议,包括 TCP、HTTP、WebSocket 等。它支持 protobuf 和 JSON 两种数据格式,并且可以通过配置轻松开启多端口网络服务。Summer 框架提供了 RPC 远程调用功能,支持优雅的远程调用方式,包括调用超时重试和幂等调用。此外,框架还封装了持久化层,提供了数据访问和数据落地接口,支持异步新增、保存、删除数据,以及主键或指定其他字段进行数据缓存。
主要编程语言:Java
2. 项目核心功能
- 高性能通讯:基于 Netty 实现高效的网络通讯。
- 多协议支持:支持 TCP、HTTP、WebSocket 等多种网络协议。
- 数据格式支持:支持 protobuf 和 JSON 两种数据格式。
- 配置化端口服务:通过配置即可轻松开启多端口网络服务。
- RPC 远程调用:支持优雅的远程调用,包括超时重试和幂等调用。
- 持久化层封装:提供数据访问和数据落地接口,支持异步数据操作。
- 简单的 IOC 容器:业务层使用依赖注入实现逻辑。
- 伪协程支持:封装了伪协程实现方案 Promise,可用于解决地狱式回调问题。
- 多种架构支持:支持 MVC、领域模型、ECS 架构。
3. 项目最近更新的功能
- 新增 @ShardingKey 注解:可用于对 Repository 进行分表。
- 修复 Http 协议下文件上传问题:修复了上传文件 WebFileUpload 不能正确保存的问题。
- 优化客户端断线重连方式:改进了 Client 断线重连的机制。
- 优化 ModelView 生成方式:从原来的 template->heapBuffer->directBuffer 改为 template->directBuffer,减少了一次内存拷贝。
- 新增 WebResponseHandler:可用于在 HttpServer 响应前修改 WebView 或 HttpResponse。
- 优化 RPC 轮询机制:优先使用可用的 client。
- 新增注解 @ParamPacking:当接口参数过多时,可使用一个类包装参数。
- 新增 WebTokenHandler:在 Http 协议下可自定义 token 的生成和解析方式。
Summer 框架持续更新中,为开发者提供更加完善和高效的服务器解决方案。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考