介绍

Nano 是什么?

轻量级,方便,高性能 golang 的游戏服务器框架。

nano 是一个轻量级的服务器框架,它最适合的应用领域是网页游戏、社交游戏、移动游戏的服务端。当然还不仅仅是游戏,用 nano 开发高实时 web 应用也非常合适。

最重要的是可以通过这个入门 Golang 游戏服务器框架开发

示例仓库

[cloud-native-game-server](https://github.com/Hacker-Linner/cloud-native-game-server)

使用 Nano 快速搭建一个 Chat Room

一句话描述 Nano 术语

  • 组件(Component):nano 应用的功能就是由一些松散耦合的 Component 组成的,每个 Component 完成一些功能。

  • Handler:它定义在 Component 内的方法,用来处理具体的业务逻辑。

  • 路由(Route):用来标识一个具体服务 或者客户端接受服务端推送消息的位置

  • 会话(Session):客户端连接服务器后, 建立一个会话保存连接期间一些上下文信息。连接断开后释放。

  • 组(Group):Group 可以看作是一个 Session 的容器,主要用于需要广播推送消息的场景。

  • 请求(Request), 响应(Response), 通知(Notify), 推送(Push):Nano 中四种消息类型。

组件的生命周期

type DemoComponent struct{}
  • Init:组件初始化时将被调用。

  • AfterInit:组件初始化完成后将被调用。

  • BeforeShutdown:组件销毁之前将被调用。

  • Shutdown:组件销毁时将被调用。

整个组件的生命周期看起来非常的清晰。

一句话描述业务

  • 用户可以加入具体房间

  • 用户可以看到房间内所有成员

  • 用户可以在当前房间发送消息

业务具体分析