问 HN:为什么 HN 经常宕机?
Hacker News 上频繁出现的错误信息和短暂宕机,引发用户质疑:为什么一个纯文本网站在服务大量、高技术含量受众时却显得如此不稳定。评论者将原因归结为一台老旧的单核服务器、不会自动扩缩容的基础设施,以及严格的反机器人限流;同时,近期 Google 搜索排名变化带来的流量激增也加重了压力。许多人认为,这种取舍正是 HN 由极小团队运营、极简且非商业化的结果;但也有人惊讶于这样一个行业核心站点在 2024 年仍能容忍相对较低的可用性。
宕机的感知频率与模式
- 不同用户的体验差异很大:
- 一些多年日常使用者表示自己几乎从未见过错误。
- 另一些人说在过去几个月里,宕机或 5xx 错误变得很频繁,甚至一天多次。
- 有些人只是在本周遇到问题;另一些人说已经持续了几个月。
- 问题可能是间歇性的:出现几分钟错误,然后又恢复正常。
- 有几位提到错误更多出现在某些白天时段(例如 CET 的上午中段到下午早些时候)。
基础设施、架构与容量
- HN 被描述为运行在一台老旧的单核服务器上,可能没有自动扩缩容或副本。
- 代码库很老,而且大体上是单线程的,使用 Arc(基于 Racket)编写,这可能让扩展和重构更困难。
- 有人认为这类应用“最容易”做缓存和分片;也有人指出,遗留技术栈和小团队使得重大改动进展缓慢。
- 据说 500 错误页面表明的是后端不可用或重启缓慢,而不只是限流。
限流、反机器人措施与登录状态
- 用户在投票、评论或收藏时经常碰到严格的限流,尤其是在未登录时。
- 有一套反机器人系统会临时封禁 IP,尤其是在高活动量或共享 IP(VPN、企业网络)情况下。
- 登录后浏览可以降低被反机器人封禁的概率(根据过去版主的评论),但:
- 未登录用户在高负载下更能受益于缓存的静态页面。
- 一些用户怀疑存在“影子封禁”或基于内容的限速;另一些人明确驳斥这类说法缺乏依据。
流量增长与外部因素
- 有几位推测,近期 Google 排名变化显著增加了流量,给基础设施带来了压力。
- 有些人认为也可能存在网络问题(例如海底电缆中断),但这尚未得到证实。
理念、预期与替代方案
- 许多人强调,HN 是一个免费、几乎无广告的服务,由一个非常小的团队运营;追求很高的“九”级可用性并不是目标。
- 一些人觉得偶尔宕机可以接受,甚至有点“迷人”;另一些人则对浪费时间感到沮丧。
- 建议从无服务器/SaaS 迁移到更好的缓存方案不等,但这些想法通常遭到质疑和调侃。
- 少数用户会通过第三方搜索前端(例如 hn.algolia.com)来浏览,以获得更好的可用性。