当前的编程语言和工具集全是为快速而简便地构建顺序的非分布式应用而设计的。 要编写分布式应用,程序员必须学习和使用针对跨层通信、数据编制、同步和安全等领域的底层类库。这些类库的唯一目的就是分布式执行以前只能被顺序执行的应用逻辑。在JIT编译器产生本地代码前,Volta在保护函数行为的CIL层(.Net Common Intermediate Language,.NET通用中间语言)应用转换。作者认为这一方法的好处有以下几点:
[但是]大多数工具和技术迫使我们在写代码之前先进行分离……。在类如RunAt和Async等说明性标注的指导下,Volta作为一套工具可以将样板代码插入到逻辑标识的同步分布式应用中,或者将非分布式执行文件转换为这些应用。
基于Web的Ajax类型应用是分布式应用中最为普遍的形式之一。然而GWT不能进行多对多的映射,因为它仅在代码层级进行操作。Volta提供的CIL-to-JavaScript的转换可以做到:
模仿不被JavaScript本地支持的高级的控制流功能,比如线程和协程等。此外Volta还提供了端到端的方法和快照功能,来帮助理解隔离效果:
测量代码(Instrumented code)能收集完整的应用轨迹,帮助我们计算剩余量(Latency)和生产量(Throughput)的状态,执行应用诊断等。作者最后对Volta做了简要总结:
将.NET编程语言、类库和工具扩展应用到云计算。在不久的将来,他们将主要关注结构安全,更细粒度的层剥离和层迁移等。
您可能对 [Visual Studio.NET] 的这些文章也感兴趣: