安下载(俺下载):打造放心的绿色安全下载站! 安下载首页|软件分类|最近更新

所在位置: 首页  >  电脑软件  >  网络软件  >  服务器区 > mqant(游戏服务器框架) v1.4.9 官方版
mqant(游戏服务器框架)

mqant(游戏服务器框架)

 v1.4.9 官方版
  • 软件大小:0.22 MB
  • 更新日期:2021-04-23 14:04
  • 软件语言:简体中文
  • 软件类别:服务器区
  • 软件授权:免费版
  • 软件官网:
  • 适用平台:WinXP, Win7, Win8, Win10, WinAll
  • 软件厂商:

6
软件评分

本地下载文件大小:0.22 MB

软件介绍 人气软件 下载地址

为您推荐: 网络软件

  mqant提供游戏服务框架功能,如果你需要开发游戏服务器就可以使用这款框架,该框架提供高并发、高性能,保证游戏稳定,保证大量玩家进入游戏不会出现延迟卡顿,避免游戏服务器遇到大量玩家同时进入的高峰的期导致服务器崩溃,软件提供多进程的架构,通过分布式的方式调度服务器性能,降低服务器在高峰期的压力,软件可以使用单台服务器维护游戏,您也可以配置多进程服务方案维护游戏,适合游戏开发以及其他物联网行业使用,内置游戏房间模型、短信验证码、项目业务模块三种业务组件,提供tcp/ws网关、http网关、mqtt协议库、自定义协议机制、日志库等核心组件,如果你需要就可以下载使用!
mqant(游戏服务器框架)

软件功能

  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这个基础模块即可,示例如下:

mqant(游戏服务器框架)

  如何使用MQTT协议实现游戏路由

  由于mqant目前主要用于游戏开发,因此mqant只使用了mqtt协议的一小部分功能。

  mqant网关将收到信息topic解析出moduleType和handler用来定位到后端模块的对应处理方法,然后进行远程RPC调用。msgid作为客户端是否需要消息应答的的标记

  如下图:

mqant(游戏服务器框架)

  代码组织结构

  首先我们重新组织了一下代码目录结构,新增了一个gate目录用来存放网关代码,robot目录用来存放访问网关的mqtt客户端代码

mqant(游戏服务器框架)

  编写第一个网关

mqant(游戏服务器框架)
mqant(游戏服务器框架)

  网关监听端口

mqant(游戏服务器框架)

  最大同时任务数

  为了防止客户端上次消息太过频繁,影响网关性能,可以设置一个连接的最大同时任务书

  默认值为20

mqant(游戏服务器框架)

  如果连接最大任务数超过限制,会报 the work queue is full! 错误,此时你需要关注客户端消息频率以及后端任务响应耗时是否合理

  网络读写缓存大小

  缓存分为读缓存和写缓存,缓存大小设置需要根据具体业务场景而定,如缓存设置过大对服务器内存消耗会比较多,如设置过小则可能导致读写卡顿,写数据时如缓存已满,则数据包会丢弃。

  默认值2048

mqant(游戏服务器框架)

  数据包最大长度

  为防止解包错误或恶意攻击,导致服务器内存溢出,需要限制每一个数据包的最大长度,超过最大长度限制的连接将被断开

  默认值65535

mqant(游戏服务器框架)

  客户端心跳间隔

  默认值 time.Minute

mqant(游戏服务器框架)

  建连超时时间

  为防止连接到网关又为建立mqtt协议的异常连接,我们设置一个超时机制,客户端连接到网关以后需在设置时间内完成mqtt协议建立,否则连接将被断开

  默认值 time.Second * 10

mqant(游戏服务器框架)

  建立TLS加密通信

  tcp和ws都可以建立安全的加密通信(tls)

  默认 不安全通信

mqant(游戏服务器框架)

  概述

  mqant部署分为单机部署和分布式部署,通常情况下,项目的所有模块代码都被编译到一个可执行文件中。 在分布式部署时,我们通常想将网关模块跟后端服务模块分服务器部署,即:

  网关服务器仅启用网关模块

  后端服务器仅启用后端模块

  模块分组(ProcessID)

  模块分组便是为了实现上面的功能而设计的,如果要不同的模块分开部署可以按如下步骤操作

  在配置文件中将模块的ProcessID分开

  在启动应用进程时指定进程ProcessID

  单机部署

  mqant默认的模块分组值约定为development

  在调试期间可以将所有模块的分组ID都设置为development,这样一个进程就可以启用所有已实现的模块

  模块ProcessID设置

mqant(游戏服务器框架)

  指定进程ProcessID

mqant(游戏服务器框架)

  编译

  sh build.sh

  运行

  mqant-example -pid mypid

mqant(游戏服务器框架)

人气软件