feat(login): 引入基于 IP 的限流中间件
新增 github.com/xiaoqidun/limit 依赖,替换原有的全局速率限制器, 实现针对客户端 IP 的细粒度限流控制。在服务启动时初始化限流器, 并在程序退出前确保后台任务正确停止。同时更新 go.work 和 login/go.sum 文件以包含新的依赖项。此外,在 logic/main.go 中添加了主玩家数据 保存逻辑以确保服务关闭时数据持久化。
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
|
||||
_ "blazing/contrib/drivers/pgsql"
|
||||
"blazing/logic/service/fight"
|
||||
"blazing/logic/service/player"
|
||||
|
||||
"blazing/cool"
|
||||
|
||||
@@ -30,6 +31,12 @@ func PprofWeb() {
|
||||
}
|
||||
func signalHandlerForMain(sig os.Signal) {
|
||||
fight.Fightpool.Release()
|
||||
|
||||
player.Mainplayer.Range(func(key uint32, value *player.Player) bool {
|
||||
value.Save()
|
||||
|
||||
return true
|
||||
})
|
||||
fmt.Println("MainProcess is shutting down due to signal:", sig.String())
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user