Sinfonia: a new paradigm for building scalable distributed systems

论文链接: Sinfonia: a new paradigm for building scalable distributed systems Sinfornia 像是一个构建分布式系统的 SDK 。目前的市面上分布式系统已经非常多了,比如 etcd, zookeeper, ceph 等等。但他们都是分别实现的,彼此之间的代码并无太多借鉴。Sinfonia 的实践是很难得的,可以说比大部分的分布式软件都更有指导价值一些。 这个图中展示了 Sinfonia 中关键的几部分 user library: SDK 部分,隐藏了分布式系统处理内部细节的 SDK。用户基于 user library 来开发分布式应用 minitranscations: Sinfonia 的核心概念。一个分布式的事物机制 application node: 应用节点 memory node: 维持分布式系统内部状态的节点。 图中没有画出的有 管理节点: 用于执行一些定期的 recover 任务 directory node: Application Node 访问 Memory Node 使用的是逻辑 id, directory node 记录了逻辑 id 与 真实地址的映射。 Memory Node Memory Node 存储了应用的状态数据,根据不同情况,可能是存在 RAM 中,也可能是在磁盘上。 user library 封装了操作 Memory Node 中数据的方式。Application Node 可以与 Memory Node 是同台机器也可以是不同机器(有些 Application 出于性能考虑会需要 Applicaiton Node 与 Memory Node 为同台机器,Sinfonia 会告知 Application 此种情况以便让其尽量把数据写在本机)。 ...

2019-07-24 · 3 分钟 · 507 字 · 涯余