游戏服务器消息驱动,coral: 基于Springboot,Netty的高可用分布式游戏服务器框架,吸收了DDD领域驱动设计。几乎适合所有类型的游戏,开箱即用!...

前言

每个项目都会有一个代号,这个项目代号为CORAL[珊瑚]。

CORAL是一个开源的游戏服务器框架,纯Java实现,目前有两个核心库组成, 分别是coral-orm与coral-net,只提供持久层与网络层的支持.

coral-net基于Netty, Disruptor处理超高并发消息.

coral-orm依赖了Spring-jdbc与spring-data-redis,分别使用了spring提供的jdbc与redis操作.

CORAL技术栈

Springboot: 不解释这个了,作者就是为了简化框架搭建选择使用此作为框架首选。

Netty: 高性能高可靠的异步网络框架,目前基于netty封装了tcp,websocket的实现,未来预计增加对http,udp,kcp的实现。

Disruptor: 高性能的并发框架,内部很多技术可以学习,环形队列,消除伪共享,填充缓存行等,用在网络层,收到客户端消息后丢进此队列,然后由disruptor线程去执行。disruptor性能比jdk自带的线程池性能高一个数量级,并且还存在优化空间。

Redis: 封装在持久层,用作二级缓存,用于服务器数据容灾处理,可根据需要装配。

Zookeeper:分布式程序协调器,用作dubbo,kafka的的注册中心。

Dubbo:rpc功能提供者,用于游戏内提供高性能高可靠的rpc调用,一般用于跨服。

Kafka:流日志处理工具,用于游戏内的玩家日志打点,不使用游戏内的线程处理,不能因为日志收集影响到游戏进程。

CORAL工程介绍

coral-orm: 框架持久层,基于mysql数据库,封装了通用数据常用操作。

coral-net: 框架网络层,实现tcp和websocket两种协议。

coral-server: 基于Coral框架实现的游戏业务逻辑工程,模块先按照业务逻辑分层,再按照MVC分层,分层借鉴了DDD领域驱动设计的思想 ,地址:https://gitee.com/fatiny/coral-server

CORAL的功能

封装完善的coral-orm持久工程,所有pojo对象继承BasePo,实现了公共的保存修改,在系统启动时进行扫描注册,保存直接通过调用父类的save()方法即可。在业务逻辑层根据需要,注册异步或同步的持久化方式。开发人员不需要关系内部实现。持久层也基于redisson封装了对redis的操作,redis作为二级缓存时,数据以redis数据为准。否则以mysql数据为准。可根据需要配置。

封装完善的coral-net网络工程,目前封装好了tcp,websocket两种协议,根据业务需要开启tcp或websocket连接,或两种可以同时开启。支持手游端游页游。网络层如果不需要可以使用开发人员自己的一套网络协议,直接在业务逻辑层注册即可。

强大的分布式集群环境,在登录服,跨服等服务器压力过大时,可以部署登录服,跨服集群环节服务器压力。游戏服完美支持

跨进程调用。在游戏服调用跨服API就像是调用本地API一样舒服。写代码不需要区分是否跨服。

基于DDD领域驱动设计,吸收了领域模型的概念,所有模块的业务逻辑层分层保持高度一致,所有模块的业务逻辑都保持一个模型,提高对软件的可维护性,业务的理解性以及可重用性。所有开发人员面对的是同一个模型,在模型中,领域对象(domain)都是有状态和行为的,领域服务(service)一般情况下是没有状态没有行为,领域服务(service)的意义就是协调领域对象(domain)完成某个操作,所有的状态保存在相关领域对象(domain)中。

较为完善的代码生成器,因为业务模块都保持一个模型,所以通过代码生成器可以生成基础业务模块90%左右的代码。覆盖面相对比较广,可以生成pojo,domain,manager,controller,service开发人员只需要处理service层内的业务逻辑。普通业务模块开发时长通常2小时内搞定。

还有其他功能,就不一一介绍了

CORAL是一个强大的,灵活的的分布式架构,可以满足几乎所有游戏类型的需求。如果大家有什么好的意见或建议.

请联系作者:

QQ: 361600134

Wechat: huuzii

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值