InterWeave:用于分布式共享状态的中间件系统
1 引言
在分布式系统里,实现高效的共享状态管理并非易事。InterWeave 作为一款中间件系统,旨在解决分布式环境中共享状态的同步、一致性等问题。它采用基于机器和语言无关的接口描述语言的类型系统,支持不同架构和语言的程序协作。下面我们将详细探讨 InterWeave 的设计、实现以及性能情况。
2 InterWeave 设计
2.1 共享单元与指针
InterWeave 的共享单元是自描述的数据段,程序可在其中分配强类型的内存块。每个数据段都有一个互联网 URL,段内的块会被编号,还可选择性命名。通过将段 URL 与块编号/名称以及偏移量(用井号分隔)拼接,能得到一个与机器无关的指针,例如:“http://foo.org/path#block#offset”。
为适应异构数据格式,偏移量以原始数据单元(如字符、整数、浮点数等)而非字节来度量。以下是在 C 语言中创建和初始化一个数据段的代码:
IW_handle_t h = IW_create_segment (url);
IW_wl_acquire (h);
my_type* p = (my_type *) IW_malloc (h, my_type_desc);
*p = ...
IW_wl_release (h);
每个数据段由位于其 URL 所指示 IP 地址的 InterWeave 服务器管理。 IW_create_segment 调用会与服务器通信以创建未初始化的数据段,并在调
超级会员免费看
订阅专栏 解锁全文
1万+

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



