自建一个 Fediverse 实例,我们需要准备什么?

自建一个 Fediverse 实例,我们需要准备什么?

前言

这几年,Fediverse(联邦宇宙)作为一种去中心化社交网络概念正逐渐流行。我们进入联邦宇宙的门槛并不高——最简单的方式就是在现有的某个实例上注册账户并开始交流。

然而,联邦宇宙的核心价值在于其去中心化的网络架构。许多用户选择加入联邦宇宙,正是因为希望摆脱中心化平台所带来的各种限制和问题。

但如果我们真正希望掌控自己的数据主权,自建实例无疑是最为理想的解决方案。

以 Misskey 或 Mastodon 等微博类服务为例,你可以建立一个小型实例,既可以邀请朋友共同使用,也可以仅作为仅个人使用的实例,整体灵活度还是相当高的。

从技术层面看,联邦宇宙中的大多数应用本质上仍是可直接访问的网络服务,因此我们可以沿用“建立网站”的思路来配置所需资源。那么,建立一个联邦宇宙实例,具体需要准备哪些东西呢?

域名

基本介绍

域名是实例的基本“身份”构成的一部分,相当于电子邮件中user@xxx.com中的@xxx.com部分,比如我的自建实例账号是@PaloMiku@circle.tkg3.top,那么后面的tkg3.top即代表了主域名。

没有域名和 HTTPS 安全的实例是无法进入联邦宇宙网络的,域名也代表了你的实例给别人的第一印象。

所以有一个短而好记或者好的寓意的域名其实很重要,但我们选择域名仍需一些门道,比如太短或者一些常见而热门的英语单词域名前缀常常被域名注册商标记为Premium而十分昂贵,同样也有一些域名后缀十分昂贵。

域名注册商

域名的注册审批是由域名的”注册局“控制的,但一般用户都是通过”域名注册商“来购买域名。

选择一个好的注册商能够更好的管理你的域名,比如他们可能具有更好的管理控制台或者更优惠的价格等。所以在选择注册局时还是有一些“门道”的。

首先对于一般用户来说,我们更建议使用“域名比价网站”来综合比对多个注册商的价格等,这是最简单的方式,但比价网站的数据库也不一定十分全面,更多的是为我们提供基本的参考。

比价网站

这里个人列举几个比价网站推荐:

  • TLD-LIST
    • 网址(中文版):
    • https://zh-hans.tld-list.com
    • 个人观点:
    • 个人用过的感觉最好的域名比价网站,有着十分清晰的综合比价机制和更新较为迅速的数据库。
  • NameBeta
    • 网址(自动判断语言和货币):
    • https://namebeta.com
    • 个人观点:
    • 个人觉得它的移动端使用体验相对较好,他们也提供了 AI 域名生成器帮助选择域名。
  • 哪煮米
    • 网址(默认中文):
    • https://www.nazhumi.com
    • 个人观点:
    • 应该是由国内作者维护更新的网站,相对来说对中国大陆地区的域名注册价格判断更为精准,但功能性和数据更新速度个人感觉均不如前两个。

海外注册商

当然个人观点来说,不建议选择GoBuddy这样黑历史和价格都一样高的注册商,个人目前使用过也比较推荐的有以下几个注册商:

  • Namesilo
    • 网址(无中文):
    • https://www.namesilo.com
    • 个人观点:
    • 这是我使用的第一家域名商,公司注册地在美国,也算比较老牌的注册商了。
    • 他们常常以更为优惠的价格吸引用户,其平均价格相对其他域名注册商确实较低,但他们的后台管理不是很好用,虽然现在已经有所优化但仍较为繁琐,不过他们有着免费的配套服务,比如域名邮件转发,域名 DNS 解析和隐私等,个人跟他们的客服打过几次交道,感觉他们的客服服务态度等也十分不错。
  • Spaceship
    • 网址(有中文):
    • https://www.spaceship.com/zh
    • 个人观点:
    • 这是全球第二大域名注册商和顶级网络服务提供商 Namecheap 的 CEO 创立的新公司,成立于 2019 年。
    • 这家最大优势是整体域名价格较低的同时还具备极其好用的后台设计,服务拼装化的感觉很有意思,也有简体中文支持,个人还是十分推荐这里的,也有免费的配套服务,比如域名 DNS 解析和隐私等。
  • Porkbun
    • 网址(无中文):
    • https://porkbun.com
    • 个人观点:
    • 也算是比较新兴的域名注册商,也是以域名价格相对较低而出名。
    • 这家对于一些较为冷门的域名后缀可能有很优惠的价格,且每个月都会有定期活动,价格会十分优惠。但后台特别难用,无中文和纯文字 UI 对于新手来说简直是噩梦。
    • 适合用来较低价格注册域名,然后转出去(Doge)
  • Dynadot
    • 网址(有中文):
    • https://www.dynadot.com/zh
    • 个人观点:
    • 在国内有子公司协助管理和代理,后台可以和 Spaceship 齐名的一样好用,这家日常平均价优势不是很大,但每年都有白送域名的同时还有着价格较为低廉的优惠促销活动。
    • 个人推荐有活动的时候来看看,整体来说还是不错的。

同时Cloudflare也是一个相对不错的选择,价格较低,不过强制使用他家的 DNS 解析服务。

国内注册商

选择国内的域名注册商的用户可能更多是觉得更好支付(虽然上述四家海外域名注册商有支持支付宝和国区 PayPal 支付),或者更好管理等,当然价格其实也真的不是很高。

提醒

国内的域名注册商可能有着相对严格的审核制度,且强制用户实名,请注意。

个人建议无论如何,都不建议选择cn域名,缺失隐私保护和安全管理。

国内并没有多少选择,比较主流的也就是阿里云,腾讯云,西部数码等这几个,我们还是看情况选吧。

域名解析服务

什么是域名解析?相信很多之前没有接触过网站建设的人不知道域名解析是什么,也不知道域名解析的作用是什么。

域名解析最为直观的解释就是:将域名转换为 IP 地址的过程。

好比你出国旅游有导游,或者打电话有电话本一样,他们帮助你找到服务器的 IP 地址,它就是这样辅助你的一个工具,也是域名配套服务重要的部分。

相对来说,个人建议优先选择海外的域名解析服务,比如主流的有 Cloudflare,HeNet 等。

基本上域名注册商都会提供 DNS 解析服务,质量也是不等,但不一定十分难用。

服务器

基本介绍

服务器是承载你的实例的“基本载体”。

考虑联邦宇宙的特性来说,它甚至也可以是你家中的服务器,但要注意的是它一定要有公网访问,不然你的个人实例会变成“单向实例”,只出不进,显然不完全符合联邦宇宙的概念。

选择服务器时要考虑你使用的实例程序对硬件的需求,如果使用GotoSocial这样比较轻量的服务,使用1c1g的服务器都能带起来。如果使用Mastodon这样的“重量级”产品,你就需要准备更高配置的服务器了。

对于新人站长来说,最为推荐的程序是Misskey系列,我们视实例人数准备2c2g及以上服务器一般就够用了,后续人数和交互时间越长,你需要准备的配置也越大。

服务器的基本带宽建议较大一些,一般上行带宽建议至少5mb及以上,低于这个速度会严重影响和联邦宇宙的交互,下行速度的要求则相对较为灵活。

CPU(核数和主频)

CPU 是电脑也包括服务器在内的“大脑”。

前面我们也提到了视运行程序选择不同的配置,比如Mastodon是使用Ruby构建的,我们需要至少为其准备 2-4vCPU 核心及以上的服务器。

整体来说除了GotoSocial轻量级程序等,个人都建议至少使用 2vCPU 以上的服务器。

值得注意的是服务器 CPU 主频建议更高一些,一个高主频的 CPU 核心可以顶更多低主频的 CPU 核心,可以优先选择 AMD 的 CPU,以及其他较新的 CPU 型号。

CPU 占用高峰主要在与其他实例通讯也即个人实例队列工作进行时。

RAM(内存)

视不同程序来说,运行内存都建议至少 2GB 及以上,服务器建议配置物理内存 1-2 倍的 SWAP 虚拟交换分区。

对于 Mastodon 来说,建议至少 4GB 防止服务运行异常。

运行内存占用高峰与 CPU 基本一致,主要在与其他实例通讯也即个人实例队列工作进行时,运行内存不足会严重影响本地用户和与远程实例交互性能。

存储(硬盘)

首先建议实例服务和数据库是运行在 NVMe SSD 上以保证实例程序基本性能,视程序不定,一般建议至少 20GB 及以上。有额外本地媒体文件存储需求的服务器可以额外配置 SATA HDD 机械硬盘获得价格更低的本地存储需求。

对于 Mastodon,若不配置自动清理策略或手动清理,请注意其存储占用问题(Mastodon 会自动缓存远程实例的媒体)。

网络(带宽和流量)

网络带宽十分重要,联邦宇宙中实例和其他实例的网络互动极大,尤其是在配置中继以后,带宽较低会使得和远程实例互动处理较慢,且可能会因此堵塞本地队列导致服务器硬件占用提高,得不偿失。

所以服务器的上行带宽一定要较高一些,海外很多服务器提供商大多上下对等带宽且平均为 1Gbps 以上,但一般都是共享带宽。

下行带宽需求视程序而论,对于 Mastodon 等会主动缓存远程实例媒体文件的程序来说,建议配置较高的下行带宽防止拥堵下载队列引起服务器更高硬件资源占用。

还需要注意的是服务器流量,有些服务器提供商会不限制服务器流量,但会限制合理使用。

也有些服务器提供商提供按量计费的流量,海外服务商多数流行为 500GB-10TB 左右,对于用户较多或者和其他实例互动较为频繁的情况下会使用更多带宽,同样的对于有主动缓存媒体文件操作的程序来说,需要更多注意其网络流量用量。

操作系统(系统和管理程序)

目前比较流行且稳定的选择是 Linux 系统,发行版则常见为 Debian,Ubuntu,RHEL系列。

不建议使用 Windows Server 操作系统,长期运行稳定性还是难以保证。

一般来说运行以上联邦宇宙程序都是使用容器(Docker)运行的,可以配合 1Panel 等支持容器管理的面板使用,个人不建议使用宝塔,可能会上报服务器信息或后门入侵引起安全问题等。

选购建议

一般来说,🇩🇪德国服务器一向具备较大性价比优势(即更大带宽,更强性能的同时还价格较为低廉),但其与中国大陆地区网络通讯条件可能较差,配合合理的 CDN 使用可能会有较好的体验。

个人建议谨记三色图:

建议勤关注独立服务器和服务器提供商活动,后续个人可能也会列举文章提出服务器选择建议。

对象存储(OSS)

基本介绍

对象存储 (Object Storage) 是一种用于存储和检索数据的服务,通常用于保存大量静态数据,如图片、视频、文档等。

在这里则主要是用于媒体文件存储,也是一种在不扩容服务器的情况下比较经济的存储方案。

大多数情况下都不建议选择国内 OSS ,尤其是在有媒体主动缓存的情况下,因为联邦宇宙实例多数位于海外,不一定遵守 OSS 所在地(中国大陆)地区法律,可能会引起审核安全性问题,且国内 OSS 多需要实名使用。

注意 OSS 使用网络流量计费问题,尤其是按量计费且未作任何封顶安全措施的情况下,若被恶意刷取可能会导致账单不忍直视(一夜一套房不是梦),尤其是国内 OSS 可能会对海外访问有安全策略限制和不同计费问题,建议仔细阅读 OSS 服务提供商的文档。

考虑方向

对于一般个人用户来说,我们首先需要想的一定是存储和网络计费价格,这点在下文会做详细对比叙述。

我们还需要考虑存储性能问题,大多数对象存储性能一般都不低,但仍有小型提供商可能提供较低的出口量。

还有 SLA (可用性)问题,大多数大型对象存储提供商都能保证 99% 及以上的可用性,请仔细阅读对象存储服务商文档。

选购建议

通过上文我们也知道了建议优先选择海外对象存储服务商。

下文部分引用了猫猫博客的博文资料,结合个人部分理解列举了对象存储选择建议,建议配合其博文阅读获得最佳体验。

比如猫猫博客中列举了各主流服务商在 1TB 存储和 1TB 出站流量场景下的价格对比表格,标注为 0 的出站流量成本代表基本不计算出口流量。

对象存储服务商1TB存储成本(美元/月)1TB出站流量成本(美元/月)总成本(美元/月)
Hetzner5.9905.99
DigitalOcean Spaces15.48020.48
Wasabi6.9906.99
Scaleway (Standard)16.30 (按当前汇率估算)10.30 (按当前汇率估算)26.60 (估算)
Vultr (Standard)18.00018.00
Backblaze B26.0006.00
Cloudflare R215.36015.36

其中 Cloudflare R2 提供了以下免费额度:

类型额度
存储额度10GB(所有存储桶的总额)
Class A Operations每月前一千万次请求免费
Class B Operations每月前一亿次请求免费
出口流量免费

所以结合这个免费额度来说,非常适合小实例使用,低于 10GB 情况下基本都能免费,对于 100GB 及以内来说都是性价比还算不错的选择。

但如果等于或者超过了 1TB,或者说超过 500GB 及以上,你可能就需要参考上面的 1TB 存储定价表选择其他存储服务了。

参考资料

《痴情哥哥与病弱妹妹的乡间生活》 Steam 版在 Linux/Deck 下的运行问题修复
Decky Loader——Linux下 Steamdeck 和大屏幕模式的最佳伴侣

评论区

评论加载中...