欢迎使用mqant

liangdas edited this page Mar 24, 2017 · 2 revisions

mqant是一个基于Golang语言的游戏框架,它具有高性能、高可伸缩、分布式多进程等特点,并且使用很简单。与以往多进程的游戏框架不同,mqant也支持单进程部署,并且也具备很高的性能。mqant在底层对分布式进行了抽象,在开发的时候无须考虑分布式,让开发者可以更多地去关注游戏的具体逻辑,大大提高开发效率。mqant的灵活性使得mqant也可以作为通用的分布式实时应用开发框架,用于一些高实时应用的开发。 mqant与客户端通信选择了mqtt协议,这使得mqant支持所有主流平台的客户端,使得客户端的开发变得很友好。

mqant组成

mqant是由一系列相互之间弱耦合的步伐组合而成的,其中包括:

  1. 框架

    框架是mqant最核心的部分,它提供了mqant分模块的加载机制,管理各个模块的生命周期

  2. RPC

    rpc是提供模块间通信的中间件,它对上层调用进行了封装,使底层可以灵活选用多种数据交互方案

  3. 通用模块

    mqant提供了与客户端交互的网关模块,使mqant可以支持TCP/websocket等多种通信方式,同时提供了mqtt协议的解析工作

  4. 客户端库

    客户端库采用了现有开源社区中标准的mqtt客户端库

  5. demo

    mqant提供了一个全平台的聊天Demo,用于展示框架的功能,并未开发者带来思路 mqantserver源码

为什么使用mqant?

现如今游戏服务器对高并发,高实时性,高性能有越来越高的要求,同时游戏服务器开发是项大工程,开发的简易型,运维得便捷性都是团队选择技术方案时需要考虑的,而一个好的开源框架可以大大减少游戏服务器开发的复杂性,让开发变得更加容易。mqant的优势有以下几点:

  1. 高性能

    mqant采用golang语言作为开发语言,除了具有编译型语言的性能优势之外,还可以充分利用多核挖掘系统性能。这是目前python,nodejs,lua等脚本语言所不具备的优势

  2. 易用

    golang语言与传统的编译型语言不同,它有吸收了Python等脚本型语言的优秀语法糖,是之开发起来更加简单(跟python差不多),同时mqant充分利用了golang的协程(goroutine)技术,实现异步请求同步化,彻底摆脱了【地狱回调】所带来的代码可读性灾难

  3. 框架的可扩展性好

    mqant采用分模块设计原则,模块之间采用标准的RPC通信,形成了统一的开发接口规范,使服务器可以在任何时候进行分布式部署。因此你可以在开发使按单机模式进行开发,在上线运营时根据业务需求将各个模块分配到不同的服务器上,这样很大程度上减小了开发时的调试成本

mqant的定位

mqant是一个轻量级的服务器框架,它适合的应用领域是网页游戏、社交游戏、移动游戏的服务端,同时也可以用来做APP推送服务,甚至在未来希望mqant能够支持即时通讯服务器,物联网网关服务器等等 同时mqant采用的是golang这样的编译型语言,其本身的性能足以支持目前流行的及时对战类游戏服务器,希望mqant在未来能发展成为这样的服务器框架吧。

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.