分布式系统架构设计全解析
1. 可扩展分布式 Erlang 与相关技术
Scalable Distributed Erlang(SD Erlang)与 Riak Core 采用了不同的方法。SD Erlang 源于格拉斯哥大学的 RELEASE 研究项目,虽然在撰写本文时它还未达到生产就绪状态,但其背后的理念很有趣,并且已被证明可以让系统扩展到数万个节点。
SD Erlang 的基本方法是通过对现有的分布式 Erlang 进行小扩展,来减少网络连接和命名空间。它定义了一个名为 s_group 的新层,节点可以属于零个、一个或多个 s_group,属于同一 s_group 的节点会共享连接和命名空间。在分布式 Erlang 中使用 global:register_name/2 函数注册的名称会在所有连接的普通(非隐藏)节点上复制,而在 SD Erlang 中,名称会在给定 s_group 的所有节点上复制。
为了使 SD Erlang 应用程序具有可移植性和可扩展性,还引入了半显式放置的概念。这一概念基于与其他节点的通信距离和节点属性来控制新节点的放置。节点属性是节点的硬件、软件和程序员定义的特征,通信距离则以数据从一个节点传输到另一个节点所需的时间为度量。
以下是 SD Erlang 的相关特点总结:
| 特点 | 描述 |
| ---- | ---- |
| 新层定义 | 定义 s_group 层,节点可属于多个 s_group 并共享连接和命名空间 |
| 名称复制 | 名称在 s_group 内节点复制 |
| 半显式放置 | 基于通信距离和节点属性控制新节点放置 |
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



