web架构解决方案概述

一、假定失效的设计(Design for Failure)

1、假定任何环节都有可能出问题,然后倒推依次设计

2、避免单点故障(single point of failure)

3、目标:应用能够连续工作,服务一直可用

4、典型实践,充分考虑到多可用区AZ(availability zone)

二、松耦合的设计(Decoupled)

1、从架构层面降低功能模块的耦合程度

2、充分考虑到服务模块接口的设计,以及异步模式

3、目标:缩小单个故障的失效域,提高扩展性和容错能力

4、典型实践:面向服务的模块设计,通过消息队列解耦业务模块

三、弹性(Elasticity)

1、资源按需获取,按需扩展和收缩

2、平行拓展提高系统容量和容错能力

3、目标:提高业务的承载能力和平台资源的灵活性

4、典型实践:无状态设计实现自动平衡扩展,云服务的按需提醒

四、并行(Parallel)

1、分布式架构首先并行处理

2、充分利用云服务本身的并行能力

3、目标:提高平台处理容量、缩短处理事件

4、典型实践:使用平台服务的最大化并行,调整软件支持并行架构

五、安全(Security)

1、保障关键数据在传输和存储时不被泄露

2、控制外部用户和内部人员对资源的访问

3、目标:保障业务安全

4、典型实践:HTTPs传输加密,存储加密,访问控制和记录

时间: 2024-12-28 18:03:06

web架构解决方案概述的相关文章

高性能业务架构解决方案(HAproxy+Keepalived)

高性能业务架构解决方案(HAproxy+Keepalived) 一. 概况 1.1 应用场景 1.2 LVS/Nginx/HAProxy特点 二. 相关理论 2.1 Keepalived工作原理 2.2 HAproxy工作原理 三. 架构拓扑 四. 资源规划 五. 实施部署 5.1初始化配置 5.2 HAproxy配置 5.3 Keepalived部署 5.3.1 Keepalived的安装 5.3.2 配置keepalived 5.3.3 检测脚本 5.4 后端WEB服务器 5.5 测试 5.

可扩展Web架构与分布式系统

开放源代码已经成为一些大型网站的基本原则.而在这些网站成长的过程中,一些优秀的实践经验和规则也出现在他们的结构中.本文旨在介绍一些在大型网站结构设计的过程中需要注意的关键问题以及实现目标的基础工作. 本文侧重于介绍网络系统,尽管一些准则在其他分布式系统中也是适用的. 1.1. web分布式系统的设计原则 搭建和运营一个可伸缩的web站点或者应用程序意味着什么?在原始层面上这仅仅是用户通过互联网连接到远程资源-使系统变得可伸缩的部分是将资源.或者访问的资源,分布于多个服务器上. 像生活中大多数事情

AWS 学习之路(技术专业人员Training and Certification)架构解决方案1

AWS 学习之路--技术专业人员架构解决方案1·(1h) 摘要主题: DevOps和云迁移. 将AWS云架构与传统架构进行比较. 联系用于生成各个解决方案的AWS服务,了解可能的迁移策略和技术含义. 第一部分:基于AWS的DevOps DevOps和传统架构的区别: 传统架构: DevOps模型: 独立环境 两团队协作额(开发运维团队) 线性开发 经常沟通 工程师执行开发和运营 提高效率 流程和完成方式延迟对客户的交付 改进服务质量 端到端模型 也可能会涉及QA和安全团队 开发和基础设施是每个团

可伸缩Web架构与分布式系统(1)

开源软件近年来已变为构建一些大型网站的基础组件.并且伴随着网站的成长,围绕着它们架构的最佳实践和指导准则已经显露.这篇文章旨在涉及一些在设计大型网站时需要考虑的关键问题和一些为达到这些目标所使用的组件.本文主要关注于Web系统,然而其中的一些内容同样适用于其他分布式系统. 1.Web分布式系统设计准则 构建和运行一个可伸缩的网站或应用来说究竟意味着什么?从一个基本的层面来看,就是将用户和远程资源通过互联网连接起来——将其变得可伸缩的部分,是指这些资源或者访问这些资源是分布式的.贯穿于多个服务器.

高性能业务架构解决方案(LVS+Keepalived)

高性能业务架构解决方案(LVS+Keepalived) 一. 概况2 1.1 应用场景2 1.2 LVS/Nginx/HAProxy特点3 二. 相关理论4 2.1 Keepalived工作原理4 2.2 LVS工作原理4 三. 架构拓扑5 四. 资源规划5 五. 实施部署5 5.1初始化配置6 5.2 LVS配置6 5.3 Keepalived部署7 5.3.1 Keepalived的安装8 5.3.2 配置keepalived8 5.4 后端WEB服务器10 5.5 共享存储11 5.6 测

可扩展Web架构与分布式系统(转)

1.1. web分布式系统的设计原则 搭建和运营一个可伸缩的web站点或者应用程序意味着什么?在原始层面上这仅仅是用户通过互联网连接到远程资源-使系统变得可伸缩的部分是将资源.或者访问的资源,分布于多个服务器上. 像生活中大多数事情一样,当构建一个web服务时花时间提前做好计划从长远看来还是很有帮助的:了解一些注意事项和大网站背后的权衡原则可以在创建小型网站时做出更明智的决定.以下是一些影响大规模web系统设计的关键原则: 可用性:对于很多公司来说一个网站的正常运行时间是非常关键的声誉和功能,像

[转载]金融行业 DevOps 解决方案概述

2009 年 6 月份,John Allspaw 及 Paul Hammond 在速度大会 (Velocity) 上分享了在 Flickr 中如何通过加强 Dev(开发团队)和 Ops(运维团队)之间的协作,从而加快应用部署频率的演讲 .随后,关于 Dev 和 Ops 之间协作的讨论一直在 Twitter 上持续进行,当年的 10 月份,在 Twitter 上首次出现了 DevOps( 开发运维一体化 ) 一词 .在随后的几年里,DevOps 不仅引起了工程界的大量关注和实践,同时,也吸引了大量

web架构设计经验分享(转)

本人作为一位web工程师,着眼最多之处莫过于 性能与架构,本次幸得参与sd2.0大会,得以与同行广泛交流,于此二方面,有些心得,不敢独享,与众博友分享,本文是这次参会与众同撩交流的心得,有兴趣者可以查看视频 架构设计的几个心得: 一,不要过设计:never over design 这是一个常常被提及的话题,但是只要想想你的架构里有多少功能是根本没有用到,或者最后废弃的,就能明白其重要性了,初涉架构设计,往往倾向于设计大而化一的架构,希望设计出具有无比扩展性,能适应一切需求的增加架构,web开发领

springMVC + oracle存储过程 构建高性能灵活易维护的java web架构

MVC让简单的业务也变得复杂 不知道你在使用MVC模式开发项目的时候是否觉得很麻烦,一个简单的增删改查动作却要涉及到多个文件操作. 以一条数据增加为例说明. 假设我们使用hibernate并且dao层是已经封装好的 从图中可以看出如果我们在系统中写一个增加功能需要自己动手写的地方至少是 jsp , action , service,servicesImpl 四层. 如果是复杂的添加操作那么我们很可能还会自己定义dao层的接口和方法,那样就是6层操作了. 如果使用mybatis 至少也是写4层,常