Skip to content
DSKY\toney.yin edited this page Apr 17, 2024 · 4 revisions

简介

基于cpp 17 && lua 5.4 实现的分布式游戏服务器框架

  • 框架(hive)+逻辑(server)
  • 支持跨平台开发(windows,linux)
  • oop模式的lua开发,支持lua热更新
  • protobuf协议
  • 支持星型组网及多级组网自动路由,router热备,独立子网,服务动态扩容及热备
  • 基于tcp协议及lua协程实现同步代码异步rpc
  • 基于行为树的机器人/单元测试一体化
  • GM命令快速验证
  • 路由协议支持有序及无序模式,支持服务的动态扩容/容灾/hash扩容
  • 支持线程worker服务,worker线程只能跟本进程的线程服务rpc,不参与集群rpc

数据库

  • mysql,mongodb,redis,etcd,influxdb
  • 自实现的分布式cache服务,支持分布式读写权限控制,容灾,扩容
  • 基于nacos配置文件的更新及服务发现

网络协议

  • 支持tcp,udp,kcp,websocket协议
  • 支持http client,http server及ssl模式
  • 客户端协议支持protobuf,json

工具

  • lmake 根据配置自动生成跨平台的makefile文件及vs.sln工程文件及一键编译
  • excel2lua 表格配置xls导出lua读写及热更
  • encrypt lua加密

日志

  • 分级文件日志
  • graylog日志系统
  • zipkin opentrace 分布式链路追踪
  • 飞书,钉钉,企业微信消息及错误日志推送

服务监控

  • Influxdb + granfana 性能监控及分析(协议,消息,rpc,cpu,内存,协程,服务等)
  • monitor监控服务
  • 自带自适应的GM web页面
  • 自带函数性能分析prof

性能

  • rpc单服务性能在4.5w次/s左右,这是计算完整的从发起到接收结果.涉及到服务的拆分,部署按这个性能去做评估
  • mongodb的性能集群模式远超mysql,单机测试插入5-8w/s

目录简介

  • [hive] :hive框架
    • [bin] :框架可执行文件
    • [core] :框架c++代码
    • [extend] :扩展库c++工程
    • [script] :框架lua代码
    • [doc] : 使用文档说明
    • [deploy] : 服务相关的配置表
    • [server] :框架服务
      • [admin] : 后台管理及自动生成的GM页面
      • [cache] : 游戏数据缓存服务目前仅支持mongo
      • [monitor] : 监控服务及实时日志页面查看
      • [online] : 玩家在线服用于消息转发
      • [qtest] : 测试代码样例
      • [router] : 消息路由服,负责消息及rpc转发.目前单层星型,后续支持多层子网模式
      • [proxy] : 代理服,http,日志抄送等
    • [tools] :框架工具
      • [encrypt] : lua源码加密
      • [lmake] : 自动生成makefile 及 vs工程
      • [excel2lua] : 转表工具
    • [proto] : proto协议
    • create_lmake.bat 用于生成所有c++工程
Clone this wiki locally