速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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:52820

评论

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

双十一轻松跨越数字鸿沟!华为云Flexus X实例引领中小企业低成本上云

YG科技

科技赋能绿色“碳”索,下党零碳示范基地启幕

新消费日报

双十一降本增效新路径!华为云Flexus X实例为中小企业注入“硬核”动力

YG科技

牛客网Java面试题及答案整理(2024年最新版,持续更新)

采菊东篱下

编程 java面试

硬核剧透!龙蜥开源软件供应链及操作系统安全MeetUp全议程来啦

OpenAnolis小助手

开源 操作系统 龙蜥社区 龙蜥meetup

双十一首款柔性算力云服务器亮相全新亮相!华为云Fleus X 实例到底有多强?

YG科技

快递鸟快递查询API接口参数代码

快递鸟

快递

OmniGraffle for mac(思维导图软件)中文版

Mac相关知识分享

Mysql篇-三大日志

EquatorCoco

MySQL 数据库

在华为开发者空间,简单几步带你实现AI风格化编程

华为云开发者联盟

云主机 华为云ModelArts FunctionGraph AI 大底座

权限系统:权限应用服务设计

不在线第一只蜗牛

架构 应用开发

简单聊聊微前端

快乐非自愿限量之名

前端

微短剧出海大升级:窄带高清降本,极致播放体验,海外合规更安心

阿里云CloudImagine

人工智能 AIGC 窄带高清 视频翻译 短剧出海

Greptime 空降深圳|「从云原生到 AI 时代,全栈可观测性的实践与演进」 Meetup 圆满结束

Greptime 格睿科技

云原生 活动 可观测

StarRocks Summit Asia 2024 全部议程公布!

StarRocks

NTFS Disk by Omi NTFS for mac(NTFS 磁盘管理器)

Mac相关知识分享

微博热搜榜数据:免费API调用与市场洞察

幂简集成

API 微博热搜 微博

14.策略者模式设计思想

杨充

CCF - 网易雷火基金项目成果:基于大小模型协同的低资源标注技术|CNCC 2024 演讲实录

网易伏羲

人工智能 网易伏羲 cncc

一夜之间,内容行业和大模型行业被这个All in One产品改变了

脑极体

AI

5.7 与 8.0 对相同文件的 LOAD DATA 语句结果不同

GreatSQL

数据库

One Switch for Mac(系统功能快速开关工具)

Mac相关知识分享

浅谈低代码平台助力企业数字化转型

EquatorCoco

低代码

掌握项目管理的流程:实现项目目标的系统步骤

爱吃小舅的鱼

项目管理流程

深入了解测试开发与DevOps体系

测试人

软件测试

IPQ5322: Qualcomm’s Wi-Fi 7 Chipset for Superior Indoor Networking

wallyslilly

技术干货丨Inspire Cast 如何避免自动网格划分失败?

Altair RapidMiner

人工智能 仿真 智能制造 altair Inspire

为什么DDoS攻击如此普遍?

网络安全服务

黑客 流量 DDoS AI人工智能 DDoS 攻击

框图是什么,如何制作?10个框图模板推荐!

职场工具箱

职场 IT 在线白板 绘图软件 线框图软件

甘特图与项目管理:深入了解两种项目管理方式

爱吃小舅的鱼

项目管理 甘特图

打造透明、高效的分布式系统:通过 EMQX ECP 集成实现链路追踪功能

EMQ映云科技

链路追踪 emqx EMQX ECP 边缘服务

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