大型网站核心架构要素 之一(总览篇)

1、性能,因为用户无法忍受一个响应缓慢的网站。

可以做的优化:

A、在浏览器端,可以通过浏览器缓存,使用页面亚索,合理布局页面,减少Cookie传输等手段来改善性能

B、在网络层面,可以使用CDN+反向代理来提升响应速度(主要是一些静态的文件 以及一些热点文件,从而减轻应用服务器负载压力)。

C、在应用服务器端,可以使用服务器本地缓存和分布式缓存,通过缓存在内存中的热点数据处理用户请求,加快请求处理过程,减轻数据库负载压力。也可以将一些异步操作发送至消息队列等待后续任务处理,而当前请求直接返回响应给用户(自己做的日志系统也是这个理念,记日志后续再进行操作,先返回数据)。后端缓存可以通过集群的方式,来增强整体处理能力,改善性能。

D、在代码层面,也可以通过使用多线程、改善内存管理等手段优化性能。

E、在数据库层面上,索引,缓存,SQL 优化等性能优化手段都已经比较成熟,再加上非关系型数据库 (NOSQL的崛起)也可以带来可观的收益,数据库通过优化数据模型、存储结构、伸缩性等手段在性能方面的优势也日趋明显

衡量标准:衡量网站性能有一些列指标重要的有响应时间、TPS、系统性能计数器等。

总结 对于网站而言性能符合预期仅仅是必要条件,因为无法预知网站可能会面临的访问压力,所以必须要考查系统在高并发访问情况下,超出负载设计能力的情况下可能会出现的性能问题。

2、可用性、 简单来讲 就是网站要保证每时每刻都能用,不能出现网站宕掉的情况。

A、网站高可用型的主要手段是数据冗余。数据存储在多台服务器上互相备份,任何一条服务器宕机都不会影响应用的整体可用,也不会导致数据丢失

衡量标准:衡量一个系统架构设计是否满足高可用的目标,就是假设系统中任何一台或者多台服务器宕机时,以及出现各种不可预期的问题时,系统整体是否依然可用

3、伸缩性、通过不断向集群中加入服务器的手段来缓解不断上升的用户并发访问压力和不断增长的数据存储需求

衡量标准:是否可以用多台服务器构建集群,是否容易向集群中添加新的服务器。加入新的服务器后是否可以和原来的服务器提供无差别服务,集群中可容纳的总的服务器数量是否有限制

4、扩展性、如何设计网站的架构使其能够快速响应需求变化,是网站可扩展架构主要的目的

衡量标准: 衡量网站扩展性好坏的主要标准就是在网站增加新的业务产品时,是否可以实现对现有产品透明无影响,不需要任何改动或者很少改动既有业务功能就可以上线新产品耦合度较低。

网站架构的主要手段是事件驱动架构和分布式服务。

a、事件驱动架构在网站通常利用消息队列实现,将用户请求和其他业务事件构造成消息发布到消息队列,消息的处理者作为消费者从消息队列中获取消息进行处理,通过这种方式 将消息产生和消息处理分离出来,可以透明地增加新的消息生产者任务或者新的消息消费者任务

b、分布式服务则是将业务和可复用服务分离开来,通过分布式服务框架调用。新增产品可以通过可复用的服务实现自身的业务逻辑,而对现有产品没有任何影响。可复用服务升级变更的时候,也可以通过提供多版本服务对应实现透明升级。

大型网站为了保持市场地位,还会吸引第三方开发者,调用网站服务,使用网站数据开发周边产品,扩展网站业务

5、安全性、互联网是开放的,任何人在任何地方都可以访问网站。网站的安全架构就是保护网站不受恶意访问和攻击,保护网站的重要数据不被窃取。

衡量网站安全架构的标准就是针对现存和潜在的各种攻击与窃密手段,是否有应对策略

总结:性能、可用性、伸缩性、扩展性和安全性是网站架构最核心的几个要素,这几个问题解决了,大型网站架构设计的大部分挑战也就克服了。

时间: 2024-12-21 11:10:15

大型网站核心架构要素 之一(总览篇)的相关文章

《大型网站技术架构》读书笔记三:大型网站核心架构要素

一.性能—响应时间决定用户 (1)浏览器端: ①浏览器缓存: ②使用页面压缩: PS:Gzip压缩效率非常高,通常可以达到70%的压缩率,也就是说,如果你的网页有30K,压缩之后就变成了9K左右.想要启用Gzip压缩,提高浏览速度,可以浏览这篇文章:http://www.chinaz.com/web/2012/1017/278682.shtml ③合理布局页面: CSS:把样式表置于顶部:避免使用CSS表达式(expression_r):使用外部JavaScript和CSS:削减JavaScri

三、大型网站核心架构要素

一般来说,除了当前的系统功能需求外,软件架构还需要关注性能.可用性.伸缩性.扩展性和安全性这5个架构要素. 3.1 性能 性能是网站的一个重要指标,任何软件架构设计档案都必须考虑可能会带来的性能问题. 优化网站性能的手段非常多,从用户浏览器到数据库,影响用户请求的所有环节都可以进行性能优化. 在浏览器端,可以通过浏览器缓存.使用页面压缩.合理布局页面.减少 Cookie传输等手段改善性能. 还可以使用 CDN,将网站静态内容分发至离用户最近的网络服务商机房,使用户通过最短访问路径获取数据.可以在

大型网站技术架构 读书笔记2 大型网站核心架构要素

通常情况下,一个网站的架构出来功能性需求外,还应该考量以下五个方面: 性能 可用性 伸缩性 扩展性 安全性 性能 性能的官方解释,我就不说了.对用户来说,就是系统的反应速度是否快. 对网站来说,性能问题是无处不在的,继而,我们优化性能的手段也有很多. 我们从前到后一个一个来说 在浏览器端,可以通过浏览器缓存,页面压缩,合理布局页面等方式 还可以使用cdn,让一些静态文件放在网络服务商的机房,这样离用户近一些. 也可以使用反向代理,把静态文件存在反向代理服务器上,例如apache 服务器端就是缓存

大型网站核心架构要素 之二(细解网站的高性能架构)

一.不同视角下的网站高性能指标,以及其优化 1.开发人员的视角 开发人员关注的主要是应用程序本身及其相关子系统的性能,包括响应延迟.系统吞吐量.并发处理能力.系统稳定性等技术指标.优化网站性能的主要手段包括 使用缓存加速数据读取,使用集群提高吞吐能力,使用异步消息加快请求响应及实现削峰,使用代码优化手段改善网站性能. 2.运维人员视角 运维人员更关注基础设施性能和资源利用率,如网络运营商的宽带能力.服务器硬件的配置.数据中心网络架构.服务器和网络带宽的资源利用率等.主要优化手段有建设优化骨干网.

《大型网站技术架构》--第三章:大型网站核心架构要素

软件架构需要关注以下部分:1. 性能:2. 可用性:3. 伸缩性:4. 扩展性:5. 安全性 一. 性能 以用户为中心,提供快速的网页访问体验.主要参数有较短的响应时间,较大的并发处理能力,较高的吞吐量,稳定的性能参数. 可分为前端优化,应用层优化,代码层优化,存储层优化. 前端优化:网站业务逻辑之前的部分: 浏览器优化:减少Http请求数,使用浏览器缓存,启用压缩,Css Js位置,Js异步,减少Cookie传输: 缓存:CDN加速,反向代理,服务器本地缓存,分布式缓存: 应用层优化:处理网站

大型网站核心架构要素

1.性能--响应时间决定用户: 问题本质--用户视角的网站性能:用户的感受包括用户计算机和网站服务器通信的时间,网站服务器处理的时间,用户计算机浏览器构造请求解析响应数据的时间. 即影响用户体验的有用户计算机的性能,网络运营商宽带服务的差异,网站服务器性能(也跟网站代码实现有关),用户使用浏览器解析html的速度 开发人员视角的网站性能指标有: (1)响应时间:从请求到收到最后响应数据的时间(如果测试的目标程序本身需要花费的时间极少,一般通过测试多次执行需要的总响应时间除以次数). (2)并发数

读书笔记3大型网站的架构要素

? 一.大型网站的架构要素 1.性能(体现性能的多个方面 响应时间,TPS,系统性能计算器等.) 2.可用性 3.伸缩性(对于应用服务器,只要服务器上不保存数据,所有服务器都是对等的,无状态性.关系性数据库,通过路由分区等手段实现) 4.扩展性 5.安全性 ? 二.性能-响应时间决定用户 (1)浏览器端: ①浏览器缓存: ②使用页面压缩: ? ?PS:Gzip压缩效率非常高,通常可以达到70%的压缩率,也就是说,如果你的网页有30K,压缩之后就变成了9K左右.想要启用Gzip压缩,提高浏览速度,

《大型网站技术架构:核心原理与案例分析》【PDF】下载

<大型网站技术架构:核心原理与案例分析>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230062557 内容简介 本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型.架构设计.性能优化.Web安全.系统发布.运维监控等在内的大型网站开发全景视图. 本书不仅适用于指导网站工程师.架构师进行网站技术架构设计,也可用于指导产品经理.项目经

《大型网站技术架构》核心原理与案例分析

内容简介 本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型.架构设计.性能优化.Web安全.系统发布.运维监控等在内的大型网站开发全景视图. 本书不仅适用于指导网站工程师.架构师进行网站技术架构设计,也可用于指导产品经理.项目经理.测试运维人员等了解网站技术架构的基础概念:还可供包括企业系统开发人员在内的各类软件开发从业人员借鉴,了解大型网站的解决方案和开发理念. 本书中,重要的架构原