Discourse 社区中 URL ID 的小秘密

其实这也应该算不上什么小秘密了。

Discourse 社区中使用的 ID 是数据库的主键自增 ID,通常你可以不用输入 URL 中其他的文字内容,直接 t 后面再加 id 就可以定位到你的主题了。

这里因为使用自增 ID ,通过这个 ID 就可以大致了解下当前你访问的社区有多少内容。

通常是一个新主题新建一个 ID。

访问下官方的网站,单击 New 下面的第一个主题,然后在链接部分可以看到 ID 为 318334。

那么大致判断官方社区上有超过 31 万个主题,按照一个主题可能平均有 5 个以上的回复。

我们就按照平均一个有 10 个回复,那么加上回复内容,官方的内容可能有超过 300 多万条记录了。

通过上面的方法,大致可以了解到你访问 Discourse 社区的数据量了。

一个参与人比较多的社区:

主题数量也在 28 万左右。

不知道你们看到 Discourse 主题最多的社区是多少呀?

目前我还没有怎么看到主题超过 100 万的社区。

OPNE AI 的社区运营了超过 88 万的主题。

这个绝对是一个大站了,也没有超过 100 万,估计很快就会接近或者超过了。

绝大部分网站的主题数量应该都在 10 万一下苦苦挣扎吧。

Discourse Meta上有过求助,notification的id自增到把2147483647用完了,导致站点错误(无法再创建通知)

十年来只有一个论坛求助过这个。

1 Like

那说明消息表中用的数据类型是 integer。

目前我们设计表对 ID 上基本上都会用 BigInt。

Java 数据类型上,对应的 ID 都是 Long。

对于一般的系统来说,大部分情况是够用了。

再说那个是消息表,这个也挺极端的,Discourse 的消息并不多。

对大部分网站来说,这个都不是问题了。

有这么大的访问量,估计都能想着做点别的了。

1 Like