16、构建现代分布式系统

构建现代分布式系统

1. 分布式系统基础概念

在分布式应用中,当调用远程调用接口(Remote Call Interface)包中声明的子程序时,如果该包位于与调用者不同的分区上,就会透明地进行远程调用。远程类型(Remote Types)包中声明的类型可在分区间传输,具有全局语义,如整数在每个分区含义相同;而指针只有局部语义,在不同机器间传输无意义。共享被动(Shared Passive)包中声明的变量可被多个分区访问,通过简单的变量赋值和读取就能在分区间交换数据,该包可置于活动或被动分区。

只要包带有远程调用接口编译指示,其声明部分的子程序就可被远程调用。必要时,编译器会生成存根和框架以实现远程调用,分类依赖规则确保这一过程可行。

2. 工具 Gnatdist

为解决分布式应用构建问题,引入了外部工具 Gnatdist。它读取用类似 Ada 语言编写的配置文件,为每个活动分区生成一个可执行文件,且与 Gnat 用于构建非分布式程序的工具 Gnatmake 共享代码。

Gnatdist 允许分布式应用设计者在分区上应用编译指示和属性,从而设置分区属性,例如服务临时不可用时的行为。

3. Ada 95 模型的局限性

Ada 95 模型在分布式应用方面虽优于 Ada 83,但仍无法满足当今需求。它未对重要特性和网络协议进行标准化,影响了互操作性。例如,经过验证的实现可能不支持异构系统,不同编译器厂商的实现也可能不兼容。

此外,分布式应用在分区故障时的行为未定义,通信的安全性和完整性等更高级概念也未集成。

4. 移除单点故障

原有的分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值