3作者: jbryu8 个月前原帖
我在一台单一的Hetzner CCX23 x86云服务器上托管一个回合制多人浏览器游戏(4个虚拟CPU,16GB内存,80GB磁盘)。后端使用Node.js和Socket.IO构建,并通过Docker Swarm运行。我还使用Traefik进行负载均衡。 匹配机制采用轮询分片的方法:每个房间始终由同一个后端实例处理,这让我可以将游戏状态保存在内存中,并在不使用Redis的情况下进行横向扩展。 现在遇到的问题是: 在大约500名同时在线玩家和约60个房间(每个房间最多8名玩家)时,我观察到CPU使用率较低,但事件循环延迟较高。游戏中的一个功能是在玩家回合期间输入文字——每个限制的按键都会实时广播给其他玩家。如果我移除这个逻辑,我可以轻松处理1000名以上的玩家。 在我的单服务器上扩展后端实例并没有帮助。我原本期待每个后端实例的负载减少会有所改善,但我仍然在大约500名玩家时遇到同样的限制。这让我觉得瓶颈并不是CPU或应用逻辑,而是更深层次的原因。但我不太确定是什么。 在500名玩家时的一些服务器指标: - CPU:每个核心25%(根据htop) - PPS:约3000进/约3000出 - 带宽:约100KBps进/约800KBps出 500名同时在线玩家是否只是我单服务器设置的一个现实上限,还是有什么配置错误?我知道扩展新服务器应该能解决这个问题,但我想先在网上咨询一下,看看我是否遗漏了什么。我对多人架构还很陌生,因此任何见解都将不胜感激。
2作者: kc38 个月前原帖
随着Mozilla Pocket将在大约两周后关闭,我想分享一个快速工具,以便在迁移到linkding时对其他人有所帮助。 在审查了自托管的Pocket替代方案后,我决定linkding具有最佳的功能组合。(linkding的创建者做得非常出色——不过,我计划最终创建一个基于linkding的新工具,增加一些作者表示不想包含的新功能【我目前正在使用一个分支,但我想进一步扩展它】。) 关于关闭公告的HN讨论串: [https://news.ycombinator.com/item?id=44063662](https://news.ycombinator.com/item?id=44063662) Mozilla公告: [https://support.mozilla.org/en-US/kb/future-of-pocket](https://support.mozilla.org/en-US/kb/future-of-pocket) linkding: [https://linkding.link/](https://linkding.link/) 请注意,Pocket将于2025年7月8日关闭,但导出服务将持续提供,直到2025年10月8日。 【编辑】修正标题中的错字和格式问题。
1作者: geeewhy8 个月前原帖
我已将 Intent 开源,这是一个用于安全、多租户、事件源后端的 TypeScript 参考栈。 关键要点: - 无框架的领域核心实现 CQRS - 通过 Temporal 实现持久化工作流 - PostgreSQL 事件存储 + 行级安全 - DevX 用户界面用于发出命令、检查事件、投影和追踪 - CLI 工具用于投影漂移、RLS 检查和 CI 门控 该项目旨在实现确定性执行和可审计性,适用于人工智能和/或人工干预编排、金融科技、人力资源信息系统,或任何需要不可变意图账本的场景。 GitHub: [https://github.com/geeewhy/intent](https://github.com/geeewhy/intent) 文档: [https://intent.heart.dev/docs/](https://intent.heart.dev/docs/) DX 面板演示: [https://intent.heart.dev/devx](https://intent.heart.dev/devx) 使用 `git clone` 和 `npm run setup eventstore` 命令大约 5 分钟即可启动本地实例。 期待对快速入门、开发体验和架构粗糙之处的反馈。