架构方法论

最近拜读了《大型网站技术架构核心原理与案例分析》,从整体上进一步了解了软件架构中的方法论,关注的核心要素,以及在每个架构模式中涉及到的技术。重新梳理后记录下来,然后时刻通过深入研究里面的每个方案和技术来提高自己能力。

架构的模式:

分层(应用层,服务层,数据层)、分割(将业务,服务分成细粒度独立的模块)、

分布式:分布式应用和服务,分布式静态资源,分布式数据和存储,分布式计算

集群(应用,服务,数据的集群提供高可用)、

异步(分布式队列)、缓存(CDN,反向代理,本地缓存,分布式缓存)、冗余、自动化、安全

一般网站架构有以下几个核心要素:

一、高性能

1.性能指标:

响应时间:指发出请求开始到接收全部数据所用的时间

并发数:同时处理请求的数目),

吞吐量 :单位时间系统能处理的请求数,TPS 每秒事务数,HPS 每秒http请求数,QPS每秒查询数

2.web前端性能优化

浏览器访问优化:减少http请求,合并css文件和javascript文件,静态资源用其他域,让浏览器可以发起多个并发请求

启用压缩(gzip)和浏览器缓存,将css放在页面最上面javascript放在页面最下面 ,减少cookie传输

CDN(content distribute network)加速、反向代理(Nginx,Apache)

3.应用服务器性能优化 (优化手段主要有 缓存、集群、异步)

分布式缓存 (membercache,redis)

异步:消息队列  集群:使用负载均衡

代码优化:多线程(将对象设计为无状态、使用局部对象、使用锁) 资源复用

存储优化:机械硬盘、固态硬盘     B+树LSM树   RAID和HDFS

二、高可用性

高可用的网站架构,分层(应用层,服务层,数据层)、分割(每一层再分模块)

高可用的应用:通过负载均衡进行无状态服务的失效转移,

应用的集群session管理(session复制,session绑定,用cookie记录session,session服务器统一管理session)

高可用的服务:可复用的服务模块为业务产品提供基础公共服务,可以分布式部署和无状态的服务可以通过负载均衡的失                                效转移策略实现高可用的服务,还有其他的服务策略:分级管理(根据应用和服务的权重分配硬件、网                                  络、运维响应资源)、超时设置、异步调用

高可用的数据服务:CAP原理(数据一致性,数据可用性,数据一致性)

数据备份,失效转移,主从分离

三、伸缩性

通过改变部署的服务数量就可以扩大或者缩小网站的服务处理能力

不同功能通过物理分离实现伸缩,单一功能通过集群实现伸缩

应用服务器集群的伸缩性设计:

应用服务器是无状态的,通过增减集群中的机器就可以实现伸缩性,再通过负载均衡策略将请求路由到对应的服务                 器上处理:  http重定向负载均衡,DNS域名解析负载均衡,反向代理负载均衡,ip负载均衡,数据链路层负载均                   衡。 负载均衡算法:轮询,加权轮询,随机,最少连接,源地址散列

分布式缓存集群伸缩性设计:

因为存放数据的原因,不能用简单的负载均衡手段来实现分布式缓存集群。

memcached 访问模型,通过路由算法决定访问集群中的哪台机器,分布式缓存一致性hash算法

数据存储的伸缩性设计: Cobar

四、扩展性

系统功能可持续扩展或提升的能力。

五、安全性

XSS攻击即跨站点脚本攻击(cross site script)

注入攻击

CSRF攻击(cross site request forgery 跨站点请求伪造)

信息加密和密钥管理:

1.单向散列加密

2.对称加密

3.非对称加密

4.密钥安全管理

时间: 2024-10-02 08:37:43

架构方法论的相关文章

使用顶层架构方法论进行航母作战模拟

最近搞了点国外的国防顶层架构信息化的研究,国内的国防信息化基本没有顶层的能力,于是搞个模拟的样子供参考: 摘要: §本案例模型描述了航母作战部队在战区执行警戒任务时,对敌机执行拦截作战的场景. §§本案例模型所采用的术语.作战过程等素材均从网络获取,部分内容以经验知识整理.依据以上积累,本模型尽可能模拟实际作战情况,但不确保与实际完全相符. §§本模型采用顶层架构设计方法,以DoDAF为参考模型设计.本模型开发方法基于以往经验,不代表客户未来实际的开发方法.若希望使用SA进行实际开发,需要对客户

微服务架构(Microservice Architecture)

之前一段时间,有听部门架构说起接下来公司要使用微服务架构来研发系统,当时没怎么在意,因为是第一次听说微服务这个名词(果然无知者无畏啊):正好赶上五一假, 我自告奋勇的,接了编写微服务架构培训文档这个任务(也许因为我是文科生,文笔稍微好点).五一假期三天,基本都是在看资料,梳理思路以及编写接下来的培训文档中度过. 下面,就说说我这几天的一些收获吧:先说说资料来源吧:有架构给我的一些资料,以及自己百度和论坛.社区找来的一些资料,权当做一个总结式的简介... 目录如下: 一.微服务架构介绍 二.出现和

从零开始学架构(一):架构师成长路径

内容摘要从架构的本质,软件工程,架构师职责,成长路径等方面,介绍什么是架构,架构流程以及架构师职责和成长规划. 本篇主题一.什么是架构二.项目中的角色三.架构师职责和工作内容四.架构工作流五.架构师成长路径六.架构能力模型七.扩展知识八.本章总结 一.什么是架构架构是系统的蓝图,描述了系统的结构和关键决策.包含系统的功能和非功能性需求,如何实现的,系统与子系统是如何划分的,系统之间如何通信的,系统功能如何设计的和交互的.包含重要的架构决策,系统组成,功能设计,技术选型,成本分析等架构的基础是设计

架构师图谱

1.架构师图谱 1.2 Java架构师图谱.jpg 1.3 微服务架构秘籍.jpg 1.4 一致性图谱.jpg 1.5 互联网大流量的方法.jpg 1.6 安全秘籍.jpg 1.7 阿里巴巴常用小框架.jpg 1.8 架构方法论图谱.jpg 1.9 设计模式秘籍图谱.jpg 2.1 JVM垃圾回图谱.png 2.2 Java并发图谱.jpg 2.3 Java集合图谱.jpg 2.4 Java集合类图.jpg 2.5 Java List类图.jpg 2.6 Java Map类图.jpg 2.7 J

从零开始学架构:开篇-文章大纲

为什么写这个系列文章? 1)行业趋势:15年说过,随着互联网架构的普及,软件复杂度的提升,架构师职位会在未来五年,迅速发展.谁掌握了架构,谁就掌握了软件技术的核心. 2)15年承诺:起源于大型网站架构,计划写完大型网站架构系列,开始<一步一步学架构系列>(目前改名为:从零开始学架构系列) 3)个人感悟:1.做技术就是做架构:2.做工作就是做管理:这两句不详细解释,大家慢慢品味. 基于以上几点,因此开始写<从零开始学架构系列>,本系列的主要目标人群是开发人员,高级开发人员,初级架构师

转: 作者 李艳鹏: 史上最全的架构师图谱

本文是笔者多年来积累和收集的知识技能图谱,有的是笔者原创总结的最佳实践,有的是小伙伴们的分享,其中每个秘籍图谱里面的内容都是互联网高并发架构师应该了解和掌握的知识,笔者索性把这些图谱收集在一起,并且归类便于查找和学习,希望能够帮助到每一位想成为架构师或者已经是架构师的小伙伴,这里我们的标题"史上最全的架构师图谱"是本文的目标,作者计划把这篇文章作为一个开放性的文章,如果读者发现更多的图谱,请联系作者本人,我们把更多的图谱.思维导图汇集在其一起,最终一定能成为互联网上"史上最全

微服务化架构实践感悟

从去年初开始接触微服务架构的一些理念,然后到今年开始实施系统第四个大版本的架构升级决定采用这套架构理念. 最近关于微服务架构的讨论还是多起来,因为国外一些著名互联网公司(如:Amazon.Netflix 等)从实践中摸索出了一套新的大型系统架构方法论,并取得了成功,树立了很好的示范,然后这套方法论渐渐就被一些技术理论派 人士命名为微服务架构(Microservices). 在微服务架构(Microservices)这个命名被正式提出来之前,我们做系统也有一套著名的思想理论,叫做面向服务架构(SO

HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性、非功能性、关键约束)-上篇

一.开篇 上一篇<HRMS(人力资源管理系统)-从单机应用到SaaS应用-系统介绍>我们已经详细的分析了HRMS系统具备的功能,并且从HRMS系统的概念.系统功能.HR行业管理现状及痛点.发展趋势及行业前景.行业内的服务提供商情况.HRMS系统的建设意义及价值等方面进行了系统化的分析梳理.我想大家已经对于HRMS系统的大体情况有了初步的了解,本篇将对HRMS系统的需求进行全方位的梳理(功能性需求.非功能性需求.系统约束等),这对于HRMS系统的架构设计来说是核心关键,是架构能否成功的前提.这也

[转]微服务架构

本文转自:https://www.cnblogs.com/imyalost/p/6792724.html 资料来源:有架构给我的一些资料,以及自己百度和论坛.社区找来的一些资料,权当做一个总结式的简介... 目录如下: 一.微服务架构介绍 二.出现和发展 三.传统开发模式和微服务的区别 四.微服务的具体特征 五.SOA和微服务的区别 六.如何具体实践微服务 七.常见的微服务设计模式和应用 八.微服务的优点和缺点 九.思考:意识的转变 十.参考资料和推荐阅读 一.微服务架构介绍 微服务架构(Mic