Yivnet is a microservice game server base on go-kit
Yivgame是用go语言基于go-kit写的一套微服务架构游戏服务器方案,它不是一个框架,是一整套游戏服务器实例,每个模块只保留了一份示例代码实现。除了游戏服务器(长连接),还包含针对前端和后台运营的API接口服务器,运营后台的界面会使用Angular实现。 除了服务器本身之外,还会涉及docker部署的详细配置。
业务层主要实现游戏或服务器的是核心逻辑,不关心外部实现,对文件系统、数据库等的依赖,业务层使用interface定义接口,由依赖层实现接口方法,并在main中通过依赖注入的方式传递给业务层调用。所以业务层除了引用一些基本的标准库外,几乎不引用第三方包。
我从v1.0开始使用CockroachDB,从v1.0到v1.0.6,CockroachDB在特定情况和压力下,一直存在崩溃的问题,自从v1.1发布,崩溃问题没再出现,但是性能一直没有大的改善。因为yivgame的数据几乎都存在内存中,只有存盘的时候需要写db,所以对整个yivgame系统来说,不存在db性能瓶颈。