上下文 您正在设计要部署应用程序的基础结构层.运行要求包括无法满足的可用性或性能能力,因为基础结构中存在性能瓶颈或故障单点. 影响因素 设计基础结构时,请考虑下列影响因素: 用户希望在使用应用程序时这些应用程序可以使用并且能够作出响应. 在生产环境中(无论是支持重要客户端/服务器应用程序的数据库,还是电子商务网站)的连续运行时间日益成为普遍的业务要求. 应用程序故障可能会造成严重的经济损失.例如,由于基础结构中一个服务器出现故障,某大销售量在线商店每小时 25,000 美元的收入即会降低.如果故…
上下文 您已经决定在设计或修改基础结构层时使用群集,以便在能够适应不断变化的要求的同时保持良好的性能. 问题 在保持可接受的性能级别的同时,如何设计一个可适应负载变化的.可伸缩的基础结构层? 影响因素 在设计可伸缩的基础结构层时,请考虑下列影响因素: 对于任何指定的应用程序来说,单独的服务器会受到最大负载容量的限制.例如,如果单台服务器将 Web 页作为基于 Web 的应用程序的一部分提供给用户,而且用户或事务负载增加并超过了服务器的限制,则应用程序性能将降至预期值以下,在最坏的情况下还会变得不…
上下文 您已经决定在设计或修改基础结构层时使用群集以提供高度可用的服务. 问题 您应该如何设计一个高度可用的基础结构层,来防止因单台服务器或它所运行的软件出现故障而导致的服务丢失? 影响因素 在设计高度可用的基础结构层时,请考虑下列影响因素: 硬件组件.应用程序或服务出现故障可以使应用程序无法使用或不可用. 例如,设想一台正在提供应用程序的服务器出现了电源故障. 如果这是唯一的服务器或服务器中的唯一电源,则存在故障单点,并且应用程序将不可用. 计划内的服务器停机时间可以影响应用程序的可用性. 例…
原文  第13章 模版方法模式(Template Method) 模板模式 模板模式 举例:模拟下数据库的update方法,先删除在插入. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47     abstract class SqlManage     {         publi…
原文 第11章 享元模式(Flyweight Pattern) 概述:   面向对象的思想很好地解决了抽象性的问题,一般也不会出现性能上的问题.但是在某些情况下,对象的数量可能会太多,从而导致了运行时的代价.那么我们如何去避免大量细粒度的对象,同时又不影响客户程序使用面向对象的方式进行操作?享元模式j就可以让我们更好的复用我们内存中已存在的对象,降低系统创建对象实例的性能消耗 运用共享技术有效地支持大量细粒度的对象.[GOF <设计模式>] 结构图:   举例: 为了方便说清享元模式的核心,我…
设计模式之第13章-职责链模式(Java实现) “请假都那么麻烦,至于么.”“咋的了?”“这不快过年了么,所以我想早两天回去,准备一下,买买东西什么的,然后去给项目经理请假,但是他说快过年了,所以这个事儿他没法决定,所以只能找总经理了,你说麻不麻烦.”“这不是很正常么,现在好多事不都是这样的,尤其是那些大公司,制度完善,分工更加细致,层级多,更麻烦.不过这就牵扯到今天的职责链模式了.”“什么?这都能扯到传说中的职责链模式?” 职责链模式之自我介绍 当当当当~我就是人见人耐,花见花开,车见车爆胎的…
设计模式之第12章-享元模式(Java实现) “怎么回事,竟然出现了OutOfMemory的错误.鱼哥,来帮我看看啊.”“有跟踪错误原因么?是内存泄露么?”“不是内存泄露啊,具体原因不知道啊.对了,有说新对象申请不到内存空间.”“这个原因么,我曾写过一篇博文:叫OutOfMemory简单分析.不过你的明显是因为代码问题,产生对象太多,导致内存被耗尽,正好一会有堂课,讲的正好能解决你的问题.”(嘿嘿,轮到我享元模式出场了~) 享元模式之自我介绍 我,享元模式乃是池技术中的重要实现方式,具体定义如下…
第三章Web表示模式 体系结构设计者在设计第一个作品时比较精简和干练.在第一次设计时,并清除自己做什么,因此比较小心谨慎.第二个作品是最危险的一个作品,此时他会对第一个作品做修饰和润色,以及把第一次设计的边缘性设计思想都用在第二个作品,结果导致设计过头. 最初的Web很简单,只是有几个简单的Html页面组成,实现信息共享.随着业务的发展,需要根据业务来决定显示什么,于是开发了CGI编程,把大量的业务逻辑写到CGI中,然后输出到页面.随着发展,CGI编程模式受到了挑战,不能满足发展的需求,于是开发…
内包含案例,基于jsp+servlet的:MVC模式计算器:MVC模式登陆 第十一章 Servlet MVC模式 模型-视图-控制器(model-view-controller),简称MVC.MVC是一种先进的设计模式,它的核心思想是有效地组合“视图”.“模型”和“控制器”.掌握MVC模式对于设计合理的Web应用框架有着十分重要的意义. MVC是一种通过三个不同部分构造一个软件或组件的理想办法: l  模型(model)用于存储数据的对象 l  视图(view)向控制器提交所需数据.显示模型中的…
目录 前言 1. 外部API的设计难题 1.1 FTGO应用程序的服务及客户端 1.2 FTGO移动客户端API的设计难题 1.3 其他类型客户端API的设计难题与特点 2. API Gateway模式 2.1 API Gateway实现的功能 2.1.1 请求路由 2.1.2 API组合 2.1.3 协议转换 2.1.4 能够为每一个客户端提供它们专用的API 2.1.5 实现边缘功能 2.2 API Gateway的架构 2.3 API Gateway的所有者模式 2.4 API Gatew…