应用云平台的可用性——从新浪SAE看云平台设计
云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Srini Penchikala 译者 张凯峰 发布于 2008年8月5日
自由软件最近发布了Jt 2.6(Java模式框架) ,这个面向模式的开源框架在最新版本中改进了JtWizard,增强了Jt组件(Jt Components)。JtWizard是构筑于Jt框架之上的自动向导应用的参考实现,可用于产生基于设计模式的Java应用,这些设计模式包括四人帮(GoF)、数据访问对象(DAO)、模型-视图-控制器(MVC)和诸如业务代理(Business Delegate)、会话外观(Session Facade)、服务定位器(Service Locator)和值对象(Value Object)之类的J2EE设计模式 。
Jt框架体系架构基于消息传递设计模式,框架对象通过发送、接收和处理消息实现信息交换和执行计算。消息传递API封装良好,耦合松散,因此可以很容易的以“拼装/消息传递(lego/messaging)”形式将框架组件组合进应用中。Jt框架支持一些GoF设计模式 ,包括Memento、Command、 Composite、Decorator、Prototype、Iterator、Adapter和Flyweight。
当前的JtWizard实现提供与Struts和Hibernate框架的集成,它可以自动产生这两个框架必需的典型文件,例如Hibernate映射文件、Struts配制文件、视图(JSPs)和Java类等。Jt框架创建的应用也可用资源文件定制,通过该文件可以自动加载对象属性。
Jt框架提供一些现成的组件(Jt Components) ,其中比较重要是JtThread、JtList、JtCollection和JtHashTable。另外还有其它一些可重用的框架组件,例如 JtFile、JtDirectory、JtURL、JtInputStream、JtKeyboard等等,可以很方便的组合进新的应用。J2EE应用中常见的客户端和服务器端技术都可同Jt框架进行很好的集成。
客户端:
服务器端:
Jt通过实现命令(Command)模式提供请求日志、排队机制和撤销操作功能。它还支持与XML的集成,提供日志、异常管理、测试和调试能力。它的测试功能具有独立组件测试的能力(每个组件就是一个单元),仅通过发送消息和验证回复(输出)消息操作就可实现。
带有业务流程管理(BPM)需求的J2EE应用可以使用Jt与jBPM的集成,jBPM是来自JBoss的业务流程建模框架。Jt框架中提供了一个jBPM适配器以支持jBPM。构筑于框架上的应用可以用流程图模型化表示,它赋于用户以图形化的方式进行业务流程建模的能力。
按照项目的未来发展规划,Jt开发团队将继续致力于Jt Wizards自动化和集成BPM的工作。要实现的目标之一是在BPM流程图中可以很轻松添加框架组件;另一个目标则是整合UML设计图、基于应用的框架消息传递和必要组件的实现,使得直接从UML设计图生成应用成为可能。
Jt框架可与Eclipse IDE环境整合使用,并可运行在任何与J2EE兼容的应用服务器上。它是java.net上的一个项目,最新版本可从Jt的网站上下载 。用户可以阅读他们的在线文档,也可通过提供e-mail地址和用户名信息订阅他们的邮件列表 。
查看原文:Java Pattern Framework Jt 2.6 Supports JtWizard and Enhancements to Jt Components
译者 张凯峰 InfoQ中文站编辑,有多年软件开发和测试经验,热衷参与技术社区与技术传播。
云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。
淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011。
2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。
12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011。
篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011。
本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。
随着JDK 7的发布,字节码指令集终于迎来了第一位新成员——invokedynamic指令。这条新增加的指令是JDK 7实现“动态类型语言(Dynamically Typed Language)”支持而进行的改进之一,也是为JDK 8可以顺利实现Lambda表达式做技术准备。在这篇文章中,我们将去了解JDK 7这项新特性的出现前因后果和它的意义。
随着互联网应用的发展,Java分布式远程服务技术受到越来越多的关注,本文将对各种相关实现以示例的形式逐一介绍,并总结其中的优缺点,使读者能够在技术选型时有所准备。这是文章的下篇。
没有回复
关注此讨论 回复