Giter Club home page Giter Club logo

pymqant's Introduction

mqant

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

pymqant

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

可以用pymqant来干什么?

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

特性

  1. 支持mqant相同的模块机制
  2. 基于gevent协程,开发过程全程做到无callback回调,代码可读性更高
  3. RPC支持本地和远程自动切换,可以直接与mqant模块互通
  4. 未实现网关模块,网关模块建议用golang版本的
  5. gevent不承诺windows下的正常运行,因此pymqant也不承诺能在windows下运行
  6. python进程只能使用一个cpu,因此pymqant不建议做游戏的核心运算模块

安装

pymqant需要依赖两个开源库 gevent pika

req.txt文件中已将依赖库罗列出来了 pip install -r req.txt

文档

pymqant 架构,开发文档都可以参看mqant的

快速上手:

mqant wiki

pymqant wiki

#概述

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

...

#演示示例(golang版本实现的)

全平台聊天Demo

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

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

框架架构

mqant的设计动机

框架架构

##下一步计划

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

##贡献者

欢迎提供dev分支的pull request

bug请直接通过issue提交

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

##版本日志

###v1.0.0

mqant第一个版本

pymqant's People

Contributors

liangdas avatar

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.