提高我们数据库的稳健性
- 11
提升我们数据库的稳健性
2021年10月7日 隐私
我们真的不喜欢储存数据,但有些数据是我们无法避免保存的。至少我们可以确保这些数据的安全。
最近,我们将后端数据库迁移到新硬体,旨在提升稳健性和可靠性。这到底意味著什么?我们是否升级了什么以应对大量新用户的到来?发生了什么变化?为什么要使用新硬体?
disney+合租平台首先,背景介绍一下
我们不喜欢储存任何有关客户的数据。这是我们的隐私模型和我们存在的理由。我们希望的是为您提供一个可靠且稳健的服务。
我们的后端伺服器提供的功能包括伺服器列表及其运行状态、帐户令牌以及您的帐户的付款状态这些内部运作旨在使用户能够使用我们的服务。可以想像,这是我们内部基础设施中一个非常关键的部分。
那我们到底做了什么?
我们的后端伺服器由多台 工作 伺服器组成。这些伺服器接收我们网站发送的查询,并将信息返回给您或 Mullvad 应用程序。这些 工作 伺服器连接到我们的多个数据库。帐户信息16位数令牌、付款状态以及伺服器详情都储存在这些数据库中。
这些数据库之所以转移到新硬体,有多个原因:
我们需要扩展。我们有很多新客户加入,必须确保为新客户和现有客户提供可靠的服务。我们无法承受失去您信任的代价。我们希望拥有冗余数据,以便在危机情况下不失去您的信任或帐户状态。我们希望简化服务并在内部分享我们服务的设置知识。
一些 稍微技术性 的细节
我们在数据库伺服器上运行了一套复制的 PostgreSQL 系统。它们位于瑞典的多个数据中心,均配备强大的硬体、多个硬碟、专用电源供应,以及各自的 UPS不断电系统。
我们的数据库从主数据库进行复制。主数据库 是我们的后端伺服器连接的对象,所有来自网站、应用或其他 客户端 的查询都会发送到这里。从数据库则持续存档并保持主数据库所接收的任何更新的本地副本,但它们处于只读模式:只有主数据库可以回答后端伺服器的查询。
在多处地点拥有多个数据库意味著我们可以依赖不同的电源供应,并且可以对 整个数据中心断电 的情况增加冗余保障。
为了连接这些数据库,我们使用了值得信赖的 WireGuard 协议。我们非常喜欢 WireGuard,并认为使用它来保护各数据库之间传输的数据非常合适,尤其是当它们位于多个位置时。我们还利用 TLS 证书和强加密来保护复制过程和后端伺服器查询。我们只希望相关的服务能够访问相关信息。
面向未来
简化服务是我们未来的目标。我们将提升所有服务的部署,致力于为我们提供的所有内容建立信任、可靠性和稳健性。
为了您的隐私权,Mullvad VPN
“WireGuard”是 Jason A Donenfeld 的注册商标。