Git Product home page Git Product logo

hive's Introduction

hive

Distributed game server framework based on CPP 17 && LUA 5.4

  • 框架(hive)+基础服务(server)
  • 支持跨平台开发(windows,linux)
  • oop模式的lua开发,支持lua热更新
  • 支持星型组网及多级组网自动路由,router热备,独立子网,服务动态扩容及热备
  • 基于tcp协议及lua协程实现同步代码异步rpc
  • 基于行为树的机器人/单元测试一体化
  • 自带GM命令快速验证
  • 路由协议支持有序及无序模式,支持服务的动态扩容/容灾/hash扩容
  • 支持服务线程模式(不接入集群,所有线程服务间可以相互rpc,master线程可以访问集群rpc)
  • 支持nacos或monitor服务发现

数据库

  • mysql,clickhouse,mongodb,redis,etcd,influxdb
  • 自实现的分布式cache服务,支持分布式读写权限控制,容灾,扩容

网络协议

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

Documents

img.png

img.png

自动GM页面

有bug或好的建议请@ QQ群:543833695 Toney

Friend Open Source

特别贡献者

  • xiyoo0812

todo list

  • 目前应用于已上线百万pcu大型实时在线FPS项目,压测过5000台服务器的百万在线全区全服,同步更新优化(部分功能会延迟或简化).多多关注,建议,star
  • 相互交流&学习&借鉴(个人QQ:8242117)
  • 完善文档及工具链,编写demo
  • 优化性能,完善精简代码

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.