finds.dev← search

// the find

liangdas/mqant

★ 2,523 · Go · Apache-2.0 · updated Sep 2024

mqant是一款基于Golang语言的简洁,高效,高性能的分布式微服务框架

mqant is a Go microservices framework aimed at game server backends, using MQTT as its client-facing gateway protocol and NATS for internal RPC between services. It handles service discovery (Consul or etcd), routing, and session management out of the box. The target user is someone building a multiplayer game backend who wants a structured distributed architecture without wiring everything from scratch.

MQTT as the gateway is a genuinely practical choice — mature client libraries exist for every platform (Unity, iOS, Android, browser), so you skip writing transport glue. NATS for internal RPC is a solid, low-latency choice that scales horizontally without much ops burden. The module system with goroutine-based concurrency avoids callback chains, making service logic readable. Registry support for both Consul and etcd with a mock backend means you can swap discovery providers or test without a real cluster.

Last meaningful commit was September 2024 and activity has been sparse for years — if you hit a bug you are likely fixing it yourself. All documentation is in Chinese, which is a hard wall for anyone outside that community and signals the project has no intention of growing internationally. The codebase vendors third-party code directly (beego logger, fatih/structs) instead of using Go modules properly, which creates upgrade friction and masks transitive dependencies. There is no built-in auth layer at the gateway — session tokens and authentication are left entirely to the application, which is fine for a framework but means production deployments need to build that themselves.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →