jwpttcg66

jwpttcg66

👤 Developer

5 repositories on SrcLog

View on GitHub
5 Repos
1.9k Stars
892 Forks
1.9k Watchers

Repositories (5)

NettyGameServer jwpttcg66/NettyGameServer Java

使用netty4.X实现的手机游戏分布式服务器,支持tcp,udp,http,websocket链接,采用protobuf自定义协议栈进行网络通信,支持rpc远程调用,使用mybatis3支持db存储分库分表,支持异步mysql存储,db保存时同步更新reids缓存。 使用ExcelToCode工程,将excel数据生成java类和json数据字典,DictService直接读取json,减少数据字典部分代码。使用game-executor工程,增加游戏内的异步事件全局服务, 支持事件sharding,均衡的异步执行事件逻辑

1.7k
redis-game-transaction jwpttcg66/redis-game-transaction Java

在大型游戏中经常使用分布式,分布式中因为游戏逻辑会经常游戏事务,借助redis特性我们可以实现分布式锁和分布式事务。很多redis集群不支持redis的事务特性。 这个框架用来解决分布式服务器下redis集群事务失效的情况下,基于分布式锁完成分布式事务。支持独占锁,共享锁,读写锁,并且支持事务提交失败情况下的回滚操作,让开发者可以有更多时间侧重游戏逻辑.

143
GameShardingDb jwpttcg66/GameShardingDb Java

基于spring-sharding-mybaits集成redis缓存的游戏分布式存储框架.支持将对象序列化到队列里,异步存储。 使用spring集成mybatis3垂直和水平分库mysql.使用模版编程,采用代理模式,采集变化的字段,自动完成拼写sql,降低数据库落地难度 集成Mybatis-PageHelper分页,大数据量可以分批查询。提升查询速度

43
game-executor jwpttcg66/game-executor Java

采用Reactor模式,注册readycreate, readyfinish事件到更新服务UpdateService,通过处理后进行模型缓存,然后将消息转化为 dispatchThread消息分配模型需要的create, update, finish的事件进行单线程循环调度 。调度过程使用了系统预置锁模型,来进行多线程唤醒机制,将所有的update循环检测进行多 线程调度,多线程更新服务使用future-listener机制,在完成调度后,根据模型状态,如果模型存活重新将消息转化为update 事件注册到dispatchThread消息分配模型进行循环处理。如果模型死亡将消息转化为readyfinish事件注册到更新服务UpdateServic进行销毁 。这个系统实现了模型自动缓存,多线程异步循环调度模型更新,自动处理模型死亡事件进行销毁。 支持将多个updater绑定到同一个更新线程上,减少线程调度。

30
spring-sharding-mybaits jwpttcg66/spring-sharding-mybaits Java

mybatis3在spring中的分库分表

24