当前位置: 首页 > 软件库 > 程序开发 > 游戏开发包 >

mqant

Golang/python语言开发的分布式游戏服务器框架
授权协议 Apache
开发语言 Python Google Go
所属分类 程序开发、 游戏开发包
软件类型 开源软件
地区 国产
投 递 者 东方乐
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

mqant

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

pymqant

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

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

特性

  • 分模块机制

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

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

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

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

现如今只有多进程的架构才能达到支撑较多在线用户,降低服务器压力,降低单点故障所带来的影响等要求,因此一个真正高可扩展的游戏运行架构必须是多进程的。

然而在游戏的开发和运营也是按步骤阶段性进行的,尤其是现如今服务器硬件设备配置也越来越高的前提下,在游戏刚开始运营时单台服务器就足够支撑了,况且多进程部署所带来的运维成本也相对较高。

mqant 的设计思想是在能用单台服务器时能让充分挖掘服务器的性能,而在需要多进程时再通过简单的配置就可以实现分布式部署。

mqant 游戏服务器的运行架构

mqant 服务器是按模块来划分功能模块的,例如 用户管理,在线聊天,战斗平台等等都应该划分为独立的模块

模块之间通过 RPC 通讯,mqant 底层会根据实际情况选择 rpc 数据交互的通信渠道,在调用模块在同一个进程的情况下直接使用 golang chan 通讯,因此同进程内模块通信性能不受影响。

  • title: Go_mqant框架 categories: Go tags: [go, 游戏服务器, 框架] date: 2018-08-09 14:16:18 comments: false Go_mqant框架 GitHub : https://github.com/liangdas/mqant wiki: https://github.com/liangdas/mqant/wiki 社区 :

  • mqant mqant是一款基于Golang语言的简洁,高效,高性能的分布式游戏服务器框架,研发的初衷是要实现一款能支持高并发,高性能,高实时性,的游戏服务器框架,也希望mqant未来能够做即时通讯和物联网方面的应用 pymqant pymqant是已经mqant相同的设计原理用python实现的,python版本设计的初衷并不是替代golang语言版本的mqant,而是希望mqant能充分利用p

  • mqant mqant是一款基于Golang语言的简洁,高效,高性能的分布式游戏服务器框架,研发的初衷是要实现一款能支持高并发,高性能,高实时性,的游戏服务器框架,也希望mqant未来能够做即时通讯和物联网方面的应用 为什么要用golang 特性 高性能分布式 支持分布式跟踪系统接口传送门 基于golang协程,开发过程全程做到无callback回调,代码可读性更高 RPC支持本地和远程自动切换

  • armyant(行军蚁) mqant压力测试工具 简介 armyant是从http压力测试工具hey改装而成。 hey只支持http接口的压力测试而armant可以自定义压测协议。 目前默认实现了http,mqtt两种协议的压力测试工具 依赖模块 go get github.com/eclipse/paho.mqtt.golang 使用方法 armyant无命令行工具,目前需要通过源码编译执行 h

  • mqant mqant是一款基于Golang语言的简洁,高效,高性能的分布式游戏服务器框架,研发的初衷是要实现一款能支持高并发,高性能,高实时性,的游戏服务器框架,也希望mqant未来能够做即时通讯和物联网方面的应用 为什么要用golang 特性 高性能分布式 支持分布式跟踪系统接口传送门 基于golang协程,开发过程全程做到无callback回调,代码可读性更高 RPC支持本地和远程自动切换

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

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

 相关资料
  • 问题内容: 我只是想知道哪种语言是开发支持大量(数千)用户的游戏服务器的理想选择?我涉足python,但意识到这不会给所有内核带来线程(这意味着8核心服务器= 1核心服务器)会带来太多麻烦。我也不太喜欢这种语言(那种“自我”的东西使我很生气)。 我知道C ++是性能方面的工作语言,但我讨厌它。我不想处理它的草率语法,我喜欢我的手被托管语言握住。这使我接触到C#和Java,但是我对其他语言持开放态度

  • 1.自我介绍 2.算法题:8位数字首位相连成一个环,每位数字都是0或者1,输入一个8位数字,每次可以将一位翻转, 翻转时,这一位的前后各一位也会同时翻转,求最少的翻转次数,能够将输入的8位数转换为全0 3.实习相关项目介绍 4.项目相关问题 5.协程 6.reactor 剩下记不住了 #友塔游戏##C/C++##面经一面面经##游戏开发#

  • 我正在尝试构建一个使用套接字和udp协议的python在线游戏。我创建了一个多处理和多线程服务器:https://pastebin.com/zucxwpc9。 我会解释里面的代码是做什么的。所以首先,它等待两个请求,并将它们放入lobby列表中。如果发出了两个请求,服务器将向客户端发送一个新端口,并创建一个具有两个线程的新进程。两个线程都在使用新端口,一个接收数据,另一个发送数据。我正在使用队列,

  • nebula3 是一个游戏引擎和开发框架,可移植的特性支持多平台,包括 iPhone。 http://code.google.com/p/nebula3-engine/

  • 🕒 岗位/面试时间 64min 1.聊项目 2.怎么处理粘包问题 3.netty线程模型 4.synchronized与reenterlock 5.cas与锁的区别 6.项目并发线程数 7.公平锁与非公平锁,项目中那种锁用的多,实际场景那种锁用的多 8.IO密集型与CPU密集型,你的项目是哪种类型,为什么 9.场景题:多个用户申请加入公会,多个审核员同时审核请求,只有一个名额,如何设计实现并发?

  • 本项目是win32下大型客户端游戏的游戏辅助开发框架,由于它集成并包含了游戏辅助开发的各方面功能,称本项目为win32辅助开发的组件也可。 内含具体项目有fifa online3、疾风之刃、怪物猎人online、流放之路等,也有辅助帐号验证服务器,帐号查寻与管理工具,特征码识别,资源文件系统等。 本人现已转型,特发布此项目,旨在分享一份只供参考的多年工作经验与心血,若本项目中有些您认为闪亮的设计、

  • 公司名:字节跳动 部门:朝夕光年 岗位名:游戏服务器开发 面试轮次:二面 时间:50min 我感觉我二面面的应该还行,问题答的七七八八,算法也秒了,可能是因为岗位方向不匹配所以挂了吧。。。。 问题如下: - 自我介绍 - 项目为什么用jdk8,而不是更高版本 - token问题 - 密钥传输 - 游戏作弊检测 - 用户反馈游戏很慢,如何排查问题 - jvm调优 - 如何确认最优堆内存大小 - my

  • 我试图建立一个通用服务器总是在连接的客户端。 该体系结构由4个主要组件组成 有状态应用服务器 无状态网关服务器 客户排队 系统和经纪人 工艺流程 客户端连接到网关 我正在使用JavaNetty作为网关。appserver也是用Java编写的。 我很想说这个设计像Mongrel2,但我不能完全确定。我想说,这更符合城市飞艇氦边缘服务器的设计(http://urbanairship.com/blog/