# framework **Repository Path**: carlzyhuang/framework ## Basic Information - **Project Name**: framework - **Description**: 游戏微服务框架,模块化设计,模块快速引入和可配置性 - **Primary Language**: Go - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-10-15 - **Last Updated**: 2025-11-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # framework for game 游戏微服务框架,基于kratos,gorilla库提供 rpc, http, websocket 等核心能力,并集成微服务常用的组件。 ## 1、框架目标 - 为了适配业务更多的应用场景,引入接口隔离层,屏蔽具体的云上基础设施,例如RPC、DB、MQ、调用链追踪、领域事件等。 - 提供一系列游戏业务常用的库。 - 框架内配备一些游戏业务常用的能力,例如Tick操作、服务逻辑时间、时区等。 - 提供自动化代码生成工具、规范应用文件、目录的组织和命名。 ## 2、设计理念 - 使用简单:业务基于框架进行服务开发服务简单方便 - 架构分层:框架整体架构按功能和特性进行分层 - 模块化:各个核心模块最好能够独立演进 - 可拔插:框架设计和实现上应该提供扩展点,允许插入不同实现 - 可扩展:以最小功能集+丰富的组件提供扩展能力 ## 3、主要特性 一切皆模块,遵循接口隔离原则,通过配置替换模块实现,业务少修改代码。 ![](https://mdpic-1251080214.cos.ap-guangzhou.myqcloud.com/20210927200833.png) ## 4、现有模块 - [x] [app](app/README.md) - **应用入口**,提供配置初始化、加载模块,优雅启动,优雅停机等能力 - [x] [rpc](rpc/README.md) - **rpc模块**,封装grpc,http,websocket等接口,配合工具生成桩代码 - [x] [naming](naming/README.md) - **名字服务模块**,基于etcd的服务注册和服务发现封装 - [x] [routing](routing/README.md) - **路由模块**,封装客户端的负载均衡器 - [x] [storage](storage/README.md) - **数据库模块**,封装数据库的接口 - [x] [distlock](distlock/README.md) - **分布式锁模块**,基于redis实现 - [x] [log](log/README.md) - 全局日志 - [x] [config](config/README.md) - 配置加载封装 - [x] [eventbus](eventbus/README.md) - 进程内事件总线,实现发布订阅 - [x] [time](time/README.md) - 时间管理 - [x] [tools](tools/README.md) - 桩代码工具插件 ## 待完成模块 - [ ] [monitor](monitor/README.md) - 监控调用链路 - [ ] [mq](mq/README.md) - 发布订阅 - [ ] [config](config/README.md) - 配置中心,热更新技术 ## 5、框架开发[文档](docs/README.md)