介绍

Nano 是什么?

golang
nanonanoweb

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

示例仓库

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

使用 Nano 快速搭建一个 Chat Room

一句话描述 Nano 术语

ComponentnanoComponentComponentHandlerComponentRoute具体服务位置SessionGroupGroupSessionRequestResponseNotifyPushNano

组件的生命周期

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

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

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

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

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

一句话描述业务

  • 用户可以加入具体房间

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

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

业务具体分析

RequestRequestnanoResponseResponsenanoPushMembersPushnanoPushNew userNotifyNotifynanoPush
Nano

Demo 源码解析

demo/1-nano-chat
type (

前端代码非常简单,大家直接看 cloud-native-game-server

Docker 搭建开发调试环境

Dockerfile

Dockerfile.dev
FROM 
Image
docker build -f Dockerfile.dev -t cloud-native-game-server:dev .

docker-compose.yaml

version: 

启动开发环境(支持 live reload)

# 如我要开发 1-nano-chat

进入 localhost:3250/web/ 可以看到效果。

启动调式环境

# 如我要调试 1-nano-chat