FCon7折倒计时最后一周:日程已上线70%!查看详情>>> 了解详情
写点什么

容错与网格

  • 2007-09-18
  • 本文字数:1125 字

    阅读完需:约 4 分钟

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

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

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

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

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

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

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

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

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

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

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

2007-09-18 20:42533
用户头像

发布了 225 篇内容, 共 59.1 次阅读, 收获喜欢 47 次。

关注

评论

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

模板方法模式,flutter刷新机制

android 程序员 移动开发

流媒体协议之WebRTC实现p2p视频通话(二),kotlin数组转集合

android 程序员 移动开发

炸裂!万字长文拿下HTTP 我在鹅厂等你!,入职阿里啦

android 程序员 移动开发

深入学习-Gradle-自动化构建技术(五)Gradle-插件架构实现原理剖析-

android 程序员 移动开发

深入探索编译插桩技术(三、解密 JVM 字节码,都是精髓

android 程序员 移动开发

深入浅出,Andorid 端屏幕采集技术实践,附大厂真题面经

android 程序员 移动开发

深入浅出:MVVM+ViewBinding,互联网寒冬公司倒闭后

android 程序员 移动开发

温故知新:深入理解Android插件化技术,Android高级插件化强化实战

android 程序员 移动开发

求职注意事项:Android面试中不可犯的这些“九大失误,Android常用面试

android 程序员 移动开发

注意!关于怎么理解 onStart可见但不可交互,程序员千万不要小瞧了这个问题

android 程序员 移动开发

毕业3年,我是如何从年薪10W的拖拽工程师成为30W资深Android开发者!(1)

android 程序员 移动开发

浅析NestedScrolling嵌套滑动机制之实践篇-仿写饿了么商家详情页

android 程序员 移动开发

浅谈ConcurrentHashMap,android游戏开发大全第二版代码

android 程序员 移动开发

正则表达式基础,记得把每一次面试当做经验积累

android 程序员 移动开发

毕业3年,我是如何从年薪10W的拖拽工程师成为30W资深Android开发者!

android 程序员 移动开发

毕业6年,技术人的不惑之路,移动app开发工具

android 程序员 移动开发

浅谈Android网络通信的前世今生--网络基础,深度剖析原理

android 程序员 移动开发

深入探索 Android 网络优化(二、网络优化基础篇,移动开发框架

android 程序员 移动开发

深入Android系统 Binder-2-使用,阿里P7亲自讲解

android 程序员 移动开发

深入Flutter TextField,android开发流程图

android 程序员 移动开发

深入RecyclerView学习—缓存机制,kotlin带参数的单例模式

android 程序员 移动开发

深入浅出,Andorid 端屏幕采集技术实践(1),android面试题整理最新

android 程序员 移动开发

深入理解Flutter动画原理,安卓framework

android 程序员 移动开发

深入解析Android的StateListDrawable,【工作感悟】

android 程序员 移动开发

深入理解 RecyclerView 的绘制流程和滑动原理,android应用开发教程答案

android 程序员 移动开发

滴滴DoKit Android核心原理揭秘之函数耗时,android组件化

android 程序员 移动开发

炸裂!万字长文拿下HTTP 我在鹅厂等你!(1),html5移动开发框架

android 程序员 移动开发

横向对比Jetpack、RxJava、Glide框架中对组件生命周期Lifecycle感知原理

android 程序员 移动开发

没有对象怎么面向对象编程呢?真让人头秃!,sharedpreferences跨进程

android 程序员 移动开发

深入探索 Android 内存优化(炼狱级别-上)(1),2021年最新Android面试点梳理

android 程序员 移动开发

深入探索 Android 内存优化(炼狱级别-上),安卓消息分发机制

android 程序员 移动开发

  • 扫码添加小助手
    领取最新资料包
容错与网格_SOA_Mark Little_InfoQ精选文章