InfoQ

新闻

容错与网格

作者 Mark Little 译者 郭晓刚 发布于 2007年9月18日 下午8时42分

社区
Architecture,
SOA
主题
事务处理,
网格计算
标签
事务

Arjuna Technologies是一家从HP独立出来的公司,他们的团队大部分都曾是世界上第一个Java事务服务和Web Service事务产品的幕后功臣,最近他们又把注意力转向了如何把他们的专业经验应用到网格的世界。他们最近的一份白皮书中说:

为了获得灵活性与更高的资源利用率而做出的妥协与权衡导致了IT基础设施的复杂性上升。[……]然而,结果是数据的共享更加普遍,而其效应也更难预测。用户更难清晰地理解一个动态演进中的IT设施的行为。这会导致几个问题,特别是当数据资源最初的设计是在一个条块分割的环境中使用,或者当设施设计之初忽视了共享访问的微妙难解之处。

正如文中指出的,迈向SOA与更高的灵活性的过程中需要做出妥协:天下没有免费的午餐。虽然数据共享程度提高了,但对整体控制以及环境中的执行情况缺乏了解,使得我们很难去理解数据共享的程度和本质。这就导致可靠性和容错性的方面变得复杂起来。这份白皮书接着讨论了数据共享的提升(特别是在企业网格中)是如何给基础设施提供商带来麻烦的,他们现在要考虑如何在存在失败与并发访问的前提下保证数据的一致性与连贯性。他们更进一步指出,虽然数据的复制、缓存与分区有助于提升性能和可用性,但:

……解决性能问题会引入新的麻烦。必须引入同步过程(Synchronisation)来确保视图的连贯性与一致性,而这需要一个协议来满足在分布的多方间通讯的需求。

Arjuna认为目前流行的网格方案都假设很少或不存在数据共享,这样可以相对简化容错。否则基础设施必须保证防止不一致的状态玷污整个应用。

……具备适当支持的系统要么可以“回滚”到前一个一致的状态(向后恢复),或者通过“补偿”来获得一个新的一致状态。没有这些,企业所依赖的数据就面临着真实的数据受损的危险。

这些都是我们在JEE、CORBA、.NET或者Web Services当中习以为常的东西,因此这里并不存在什么根本上的问题。然而,我们讨论的要点是,在现有的许多数据网格方案中,仅有的容错手段就是重新启动应用,这对于共享数据的应用来说是不充分的。不充分是因为它们只关注数据的连贯性,而没有为数据的一致性提供作用域机制。如果在JEE里使用事务而不进行任何并发控制,结果也是一样。

最近已经出现了很多网格加入容错的工作,其中一些也跟上述白皮书一样得出基础设施需要升级的结论:

  • 识别数据共享,并保护应用免受波及:错误防止
  • 监控数据共享:错误检测
  • 记录数据改变以助恢复:错误恢复

我们还留下了几个疑问:当前数据网格设施的用户感受到了缺乏这些组件的痛苦吗?如果没有,为什么没有,既然对于其他分布式系统来说,这些都是必不可少的功能?在网格中数据共享是很少出现的场景吗?也许补偿式事务由应用来处理比交给基础设施来处理更好?

查看英文原文:Fault Tolerance and the Grid

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。