写点什么

Volta:利用重编译开发分布式应用

  • 2008-10-03
  • 本文字数:1032 字

    阅读完需:约 3 分钟

微软 LiveLabs 实验室的 Dragos Manolescu、Brian Beckman 和 Benjamin Livshits 等三人最近发表了一篇关于Volta 的文章,来探讨这个一年前在战略架构论坛2007 上宣布的新技术 Volta 可以用来对架构进行重构,就像 20 多年以来代码重构工具对代码进行重构一样。作者总结了 Volta 产生的背景,以及如何使用 Volta 等:

当前的编程语言和工具集全是为快速而简便地构建顺序的非分布式应用而设计的。 要编写分布式应用,程序员必须学习和使用针对跨层通信、数据编制、同步和安全等领域的底层类库。这些类库的唯一目的就是分布式执行以前只能被顺序执行的应用逻辑。

[但是] 大多数工具和技术迫使我们在写代码之前先进行分离……。在类如RunAtAsync等说明性标注的指导下,Volta 作为一套工具可以将样板代码插入到逻辑标识的同步分布式应用中,或者将非分布式执行文件转换为这些应用。

在 JIT 编译器产生本地代码前,Volta 在保护函数行为的 CIL 层(.Net Common Intermediate Language,.NET 通用中间语言)应用转换。作者认为这一方法的好处有以下几点:

  • 重编译器是语言独立的;
  • 重编译器和编译器分析与优化无关;
  • 在语言规范改动时 Volta 不需要改动,只在 CIL 规范改动时才需要;
  • Volta 支持许多分布式设计最佳实践,比如“所有网络上的调用都必须是异步的”;
  • Volta 提供了语言(用于写代码)与运行时(用于执行代码)间的多对多映射。

Volta 的推出被业界猜测是微软对 Google 的 GWT 所作出的回应。在文章中,作者也提到了这一点:

基于 Web 的 Ajax 类型应用是分布式应用中最为普遍的形式之一。

然而 GWT 不能进行多对多的映射,因为它仅在代码层级进行操作。Volta 提供的 CIL-to-JavaScript 的转换可以做到:

模仿不被 JavaScript 本地支持的高级的控制流功能,比如线程和协程等。

此外 Volta 还提供了端到端的方法和快照功能,来帮助理解隔离效果:

测量代码(Instrumented code)能收集完整的应用轨迹,帮助我们计算剩余量(Latency)和生产量(Throughput)的状态,执行应用诊断等。

作者最后对 Volta 做了简要总结:

将.NET 编程语言、类库和工具扩展应用到云计算。

在不久的将来,他们将主要关注结构安全,更细粒度的层剥离和层迁移等。

虽然在文章中,作者只是提到了如何将 Volta 应用到基于 Web 的 Ajax 类型应用和层剥离。但是我们可以想象,不久他们就会让 Volta 在面向服务架构(SOA)中创建和实施“服务交互“,以对服务和集成服务进行重构。

查看英文原文: Volta: Developing Distributed Applications by Recompiling

2008-10-03 01:521211

评论

发布
暂无评论
发现更多内容

利用人工智能ChatGPT自动生成基于PO的数据驱动测试框架

测吧(北京)科技有限公司

测试

Go 并发编程原语及并发设计模式

baiyutang

Go 编程 云原生 并发’

【YashanDB知识库】ycm纳管主机安装YCM-AGENT时报错“任务提交失败,无法连接主机”

YashanDB

yashandb 崖山数据库 崖山DB

穿越流程管理的丛林!Prothentic学院「流程管理培训」第1期圆满落幕

望繁信科技

业务流程管理 望繁信科技 流程管理培训 陈果George Prothentic学院

数据安全风险怎么理解?包括哪些方面?

行云管家

数字化 数据安全 企业数据

测试环境领域到测试环境产品

阿里技术

阿里巴巴 测试 淘宝 测试环境

macOS Monterey 12.7.6 (21H1320) 正式版发布,ISO、IPSW、PKG 下载

sysin

macos ISO ventura

【YashanDB知识库】自动选举配置错误引发的一系列问题

YashanDB

yashandb 崖山数据库 崖山DB

全渠道AI数字化商品管理 零售品牌增长“超级引擎”

第七在线

利用人工智能ChatGPT自动生成基于PO的数据驱动测试框架

霍格沃兹测试开发学社

面向物联网的 NGINX Plus:对 MQTT 流量进行加密和身份验证

NGINX开源社区

负载均衡 开源 物联网 IoT mqtt

百度智能云 ABC Stack 获可信云技术最佳实践,共建一云多算生态

Baidu AICLOUD

淘宝API接口测试中的安全性保障

Noah

【YashanDB知识库】ycm托管数据库时,数据库非OM安装无法托管

YashanDB

yashandb 崖山数据库 崖山DB

济宁有正规等保测评机构吗?大神求告知!

行云管家

等保 等级保护 济宁

wamp配置多目录访问方法

tbapi

wamp

AI技术修复奥运珍贵历史影像,《永不失色的她》再现百年奥运女性光彩

阿里云CloudImagine

云计算 音视频 AI技术 视频云 奥运会

再获奖项,亚信安慧AntDB数据库被评为“2023-2024国产数据库创新赋能优秀产品”

亚信AntDB数据库

硅纪元视角 | 6秒生成4张图,Getty Images和英伟达联合推出文生图AI模型

硅纪元

【Hbase】运维问题汇总

扬_帆_起_航

新版HAP应用市场即将推出,诚邀意向开发者提前入驻,抢占先机

明道云

利用人工智能ChatGPT自动生成基于PO的数据驱动测试框架

测试人

软件测试

生成式 AI 时代的数据库:Databend 与大模型的融合探索

Databend

智源发布三款BGE新模型,再次刷新向量检索最佳水平

智源研究院

大咖公开课 | 大模型场景讲解以及测试方法

测试人

软件测试

闲鱼开发者必读:如何利用闲鱼商品列表数据接口进行数据分析

tbapi

闲鱼API 闲鱼商品列表接口 闲鱼商品列表数据接口 闲鱼商品列表数据采集

7thonline第七在线出席中服协时尚科技峰会 探讨AI商品管理落地

第七在线

优化数据处理效率,解读 EasyMR 大数据组件升级

袋鼠云数栈

大数据组件 大数据计算引擎 大数据引擎 数据组件 组件升级

Volta:利用重编译开发分布式应用_.NET_Jean-Jacques Dubray_InfoQ精选文章