mqant是一款专业的游戏服务器框架。开发游戏服务器的用户都在使用mqant。如果您需要开发游戏服务器,则可以使用此框架。该框架提供高并发性,高性能,确保游戏稳定性,确保大量玩家进入游戏不会延迟纸箱,避免游戏服务器遇到很多玩家进入服务器崩溃的峰值,软件提供多流程架构,调度服务器性能通过分布式模式,减少了服务器在高峰期的压力,软件可以使用单个服务器维护游戏,还可以配置多流程服务解决方案维护游戏,适合游戏开发和其他物联网行业,内置游戏室型号,SMS验证码,项目业务模块三个业务组件,提供TCP / WS网关,HTTP网关,MQTT协议库,自定义协议机制,日志库等。如果您需要下载它!
软件特色:
米曼
MQANT是一种简洁,高效,高性能的分布式微型服务游戏服务器框架,基于Golaang语言。研发的原始意图是实现一个支持高并发性,高性能,高实时的游戏服务器框架,并希望将来的未来。能够做即时消息和互联网
软件特征:
1,高性能分布
2.支持分布式服务注册发现是一个全功能微服务框架
3.基于Golang Sweeper,开发过程不是回调回调,代码可读性更高。
4,远程RPC使用NAT为频道
5,网关使用MQTT协议,无需开发客户端底库,直接设置现有MQTT客户端代码库,可以支持多平台通信,如iOS,Android,WebSocket,PC
6,默认支持MQTT协议,网关还支持开发人员的自定义简报协议。
使用说明:
门户协会
MQANT中的门网关模块非常重要,这支持服务器和客户端之间的长连接通信。
游戏特色:
1.持TCP,WebSocket通信方法
2,默认支持MQTT协议
3,可以自定义通信协议
使用门网关模块
虽然门网关模块包含更多,但在实际开发时不需要执行太多的第二开发,并且开发人员只需要继承BaseGate.gate的基本模块。例子如下:
如何使用MQTT协议来实现游戏路线
由于MQANT目前主要用于游戏开发,因此MQANT仅使用MQTT协议的一小部分。
MQANT网关将接收信息主题解析模键和处理程序使用的相应处理方法以查找后端模块,然后执行远程RPC调用。 msgid是客户端需要消息答案的标签
如下所示:
代码组织结构
首先,我们重新恢复了代码目录结构,添加了一个门目录来存储网关代码,用于存储MQTT客户端代码的robot目录用于访问网关
写第一门网关
网关监控端口
最大任务数
为了防止客户端的最后一条消息,您可以为网关性能设置最大的同时任务簿。
默认为20.
如果最大任务数超出限制,则工作队列已满!错误,您需要注意客户端消息频率以及后端任务是合理的
网络读写缓存大小
将缓存分为读取高速缓存和写入缓存,并且需要根据特定的业务场景确定高速缓存大小设置。如果缓存设置太大,对于服务器内存消耗太大,如果它太小,它可能会导致读写纸箱,写入数据,如缓存它已满,然后数据包将丢弃。
默认为2048.
最大数据包长度
为了防止解压缩错误或恶意攻击,导致服务器内存溢出,您需要
限制每个数据包的最大长度,并且将断开超过最大长度限制的连接。
默认为65535.
客户端 - 髋关节间隔
默认时间.minute.
建莲超时时间
为防止连接到网关,我们设置了一个超时机制,并且客户端连接到网关以完成MQTT协议以在设置时建立MQTT协议,否则连接将断开连接。
默认时间.Second * 10
建立TLS加密通信
TCP和WS都可以建立安全的加密通信(TLS)
默认情况下,不安全的沟通
游戏概述:
MQANT部署分为独立部署和分发,通常,项目的所有模块代码都被编译为可执行文件。在分布式部署中,我们通常希望使用后端服务模块部署网关模块,即:
网关服务器仅启用网关模块
后端服务器仅启用后端模块
模块数据包(ProcessID)
模块数据包旨在实现上述功能。如果要将模块分开以分隔部署可以按如下方式进行操作
将模块的ProcessID分成配置文件中
启动应用程序过程时指定进程处理程序
独立部署
MQANT默认模块组值符合开发
您可以在调试期间设置要开发的所有模块,这样的过程启用所有已实现的模块。
模块流行设置
指定进程流程区
编译
sh build.sh.
跑步
mqant-esample -pid mypid
软件功能:
核心RPC组件 - 它提供服务发现,客户端负载平衡,编码,同步通信库。
HTP Gateway - 提供将HTTP请求路由到相应的微服务的API网关。它充当单个入口点,可以用作反代理或将HTTP请求转换为RPC。
TCP / WebSocket网关 - 它为TCP和WebSocket提供了两个客户端连接方法。默认构建了一个简单的MQTT协议,这非常方便提供长期连接的服务,快速构建IOT和在线游戏通信服务,并支持自定义通信协议插件。