mqant(游戏服务器框架)
v1.4.9 官方版- 软件大小:0.22 MB
- 更新日期:2021-04-23 14:04
- 软件语言:简体中文
- 软件类别:服务器区
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:
软件介绍 人气软件 下载地址
软件功能
mqant
mqant是一款基于Golang语言的简洁,高效,高性能的分布式微服务游戏服务器框架,研发的初衷是要实现一款能支持高并发,高性能,高实时性的游戏服务器框架,也希望mqant未来能够做即时通讯和物联网方面的应用
特性
1、高性能分布式
2、支持分布式服务注册发现,是一款功能完整的微服务框架
3、基于golang协程,开发过程全程做到无callback回调,代码可读性更高
4、远程RPC使用nats作为通道
5、网关采用MQTT协议,无需再开发客户端底层库,直接套用已有的MQTT客户端代码库,可以支持IOS,Android,websocket,PC等多平台通信
6、默认支持mqtt协议,同时网关也支持开发者自定义的粘包协议
软件特色
核心RPC组件 - 它提供了用于服务发现,客户端负载平衡,编码,同步通信库。
http网关 - 提供将HTTP请求路由到相应微服务的API网关。它充当单个入口点,可以用作反向代理或将HTTP请求转换为RPC。
tcp/websocket网关 - 它提供了tcp和websocket两种客户端连接方式。并且默认内置了一个简单的mqtt协议,可以非常便捷的 提供长连接服务,快速搭建iot和网络游戏通信业务,同时也支持自定义通信协议插件。
使用说明
网关协
mqant中的Gate网关模块相对来说非常重要,它支撑了服务器与客户端的长连接通信
特性:
1、支撑tcp,websocket通信方式
2、默认支撑MQTT协议
3、可自定义通信协议
使用Gate网关模块
gate网关模块包含的功能虽然多,但在实际开发时并不需要做过多的二次开发, 开发者只需要继承basegate.Gate这个基础模块即可,示例如下:
如何使用MQTT协议实现游戏路由
由于mqant目前主要用于游戏开发,因此mqant只使用了mqtt协议的一小部分功能。
mqant网关将收到信息topic解析出moduleType和handler用来定位到后端模块的对应处理方法,然后进行远程RPC调用。msgid作为客户端是否需要消息应答的的标记
如下图:
代码组织结构
首先我们重新组织了一下代码目录结构,新增了一个gate目录用来存放网关代码,robot目录用来存放访问网关的mqtt客户端代码
编写第一个网关
网关监听端口
最大同时任务数
为了防止客户端上次消息太过频繁,影响网关性能,可以设置一个连接的最大同时任务书
默认值为20
如果连接最大任务数超过限制,会报 the work queue is full! 错误,此时你需要关注客户端消息频率以及后端任务响应耗时是否合理
网络读写缓存大小
缓存分为读缓存和写缓存,缓存大小设置需要根据具体业务场景而定,如缓存设置过大对服务器内存消耗会比较多,如设置过小则可能导致读写卡顿,写数据时如缓存已满,则数据包会丢弃。
默认值2048
数据包最大长度
为防止解包错误或恶意攻击,导致服务器内存溢出,需要限制每一个数据包的最大长度,超过最大长度限制的连接将被断开
默认值65535
客户端心跳间隔
默认值 time.Minute
建连超时时间
为防止连接到网关又为建立mqtt协议的异常连接,我们设置一个超时机制,客户端连接到网关以后需在设置时间内完成mqtt协议建立,否则连接将被断开
默认值 time.Second * 10
建立TLS加密通信
tcp和ws都可以建立安全的加密通信(tls)
默认 不安全通信
概述
mqant部署分为单机部署和分布式部署,通常情况下,项目的所有模块代码都被编译到一个可执行文件中。 在分布式部署时,我们通常想将网关模块跟后端服务模块分服务器部署,即:
网关服务器仅启用网关模块
后端服务器仅启用后端模块
模块分组(ProcessID)
模块分组便是为了实现上面的功能而设计的,如果要不同的模块分开部署可以按如下步骤操作
在配置文件中将模块的ProcessID分开
在启动应用进程时指定进程ProcessID
单机部署
mqant默认的模块分组值约定为development
在调试期间可以将所有模块的分组ID都设置为development,这样一个进程就可以启用所有已实现的模块
模块ProcessID设置
指定进程ProcessID
编译
sh build.sh
运行
mqant-example -pid mypid
人气软件
-
Serv-U FTP Server 10.5.0.24 简体中文 15.00 MB
/多国语言 -
xmanager7(FTP软件) 161.0 MB
/简体中文 -
HaneWin NFS Server v1.1.69 汉化注册版 0.68 MB
/简体中文 -
手机架设服务器 Servers Ultimate Pro v6.3.10 汉化版 7.00 MB
/简体中文 -
e-Border Driver(socks5代理工具) 3.6 MB
/简体中文 -
HTS Http File Server(HTTP文件服务器) 1.91 MB
/简体中文 -
SecureCRT 64位 32.4 MB
/英文 -
勤哲excel服务器2016 111.05 MB
/简体中文 -
Allsoon流媒体服务器 3.17 MB
/简体中文 -
PrivX(服务器访问与管理软件) 11.95 MB
/英文