feat(login): 引入基于 IP 的限流中间件

新增 github.com/xiaoqidun/limit 依赖,替换原有的全局速率限制器,
实现针对客户端 IP 的细粒度限流控制。在服务启动时初始化限流器,
并在程序退出前确保后台任务正确停止。同时更新 go.work 和 login/go.sum
文件以包含新的依赖项。此外,在 logic/main.go 中添加了主玩家数据
保存逻辑以确保服务关闭时数据持久化。
This commit is contained in:
2025-10-24 23:14:36 +08:00
parent 749b380d82
commit db3a21dd91
13 changed files with 726 additions and 5 deletions

View File

@@ -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())
}