beloving / mqant

mqant是一款基于Golang语言的简洁,高效,高性能的分布式游戏服务器框架

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mqant

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

pymqant

pymqant是已经mqant相同的设计原理用python实现的,python版本设计的初衷并不是替代golang语言版本的mqant,而是希望mqant能充分利用python语言的优势(丰富的开源库),因此python是golang语言版本的mqant辅助版本

https://github.com/liangdas/pymqant

可以用pymqant来干什么?

理论上pymqant也实现了mqant完全相同的功能,只是缺少一个网关模块,可以用pymqant的flask实现游戏的web api模块,mqant实现对性能要求较高的游戏核心逻辑模块,pymqant模块与mqant模块之间RPC方法可以无缝相互调用,实现双向通信。

特性

  1. 分模块机制
  2. 基于golang协程,开发过程全程做到无callback回调,代码可读性更高
  3. RPC支持本地和远程自动切换
  4. 远程RPC默认使用rabbitmq,未来可以添加更多种类的通信协议
  5. 网关采用MQTT协议,无需再开发客户端底层库,直接套用已有的MQTT客户端代码库,可以支持IOS,Android,websocket,PC等多平台通信

社区

QQ交流群 :463735103

技术交流社区:www.mqant.com

文档

快速上手:

mqant wiki

#概述

  1. mqant的设计动机
  2. mqant框架介绍
  3. 框架架构概述
  4. 通信协议与客户端支持

...

#演示示例

全平台聊天Demo

在线Demo演示(随时可能关闭)

多人对战吃小球游戏(绿色小球是在线玩家,可以同时开两个浏览器测试,支持移动端)

框架架构

mqant的设计动机

框架架构

##下一步计划

  1. 增加grpc作为一种rpc通信管道
  2. 分布式架构管理模块(Master)
  3. 异常日志监控和汇报
    1. 异常日志分类汇总
    2. 定时将异常日志发送到Email
    3. 定时将异常日志通过webhook发送到团队协作工具中(钉钉,worktile等)
  4. 做一下多进程内存共享方面的实验性研究
  5. 。。。

##贡献者

欢迎提供dev分支的pull request

bug请直接通过issue提交

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

  1. xlionet
  2. lulucas

##版本日志 ###v1.2.0新特性

###v1.1.0新特性

###v1.0.0

mqant第一个版本

About

mqant是一款基于Golang语言的简洁,高效,高性能的分布式游戏服务器框架

License:Apache License 2.0


Languages

Language:Go 90.5%Language:Assembly 9.2%Language:C 0.2%Language:Makefile 0.0%