mqant

mqant是一款基于Golang语言的简洁,高效,高性能的分布式游戏服务器框架,研发的初衷是要实现一款能支持高并发,高性能,高实时性,的游戏服务器框架,也希望mqant未来能够做即时通讯和物联网方面的应用

为什么要用golang

特性

高性能分布式

支持分布式跟踪系统接口传送门

基于golang协程,开发过程全程做到无callback回调,代码可读性更高

RPC支持本地和远程自动切换

远程RPC使用redis,rabbitmq,未来可以添加更多种类的通信协议

网关采用MQTT协议,无需再开发客户端底层库,直接套用已有的MQTT客户端代码库,可以支持IOS,Android,websocket,PC等多平台通信

默认支持mqtt协议,同时网关也支持开发者自定义的粘包协议

模块

将不断加入更多的模块

依赖项目

go get github.com/gorilla/mux
go get github.com/gorilla/websocket
go get github.com/streadway/amqp
go get github.com/golang/protobuf
go get github.com/golang/net/context
go get github.com/opentracing/basictracer-go
go get github.com/opentracing/opentracing-go
go get github.com/garyburd/redigo

文档

快速上手:

概述

...

演示示例

mqant 项目只包含mqant的代码文件

mqantserver 项目包括了完整的测试demo代码和mqant所依赖的库

如果你是新手可以优先下载mqantserver项目进行试验

框架架构

下一步计划

分布式架构管理模块(Master)

模块发现

模块管理

模块动态添加删除

模块状态监控

新增英文版文档

希望有兴趣的英语好的同学能参与帮忙编写英文版本的文档

【已完成】异常日志监控和汇报

异常日志分类汇总

定时将异常日志发送到Email

定时将异常日志通过webhook发送到团队协作工具中(钉钉,worktile等)

【已完成】rpc添加track分布式跟踪系统的接口Appdash,用Go实现的分布式系统跟踪神器

贡献者

欢迎提供dev分支的pull request

bug请直接通过issue提交

凡提交代码和建议, bug的童鞋, 均会在下列贡献者名单者出现

版本日志

v1.0.0

mqant第一个版本