首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

大型网站技术架构演进_网站信息架构

出处:http://blog.csdn.net/anxpp/article/details/51614973 大型网站架构演化过程 1、初始阶段的网站架构 网站一开始,使用的人并不多,访问量比较小...我们的个人主页、博客,都可以使用如下架构: Jetbrains全家桶1年46,售后保障稳定 01 应用程序、数据库和文件等资源,都在同一台服务器上。...而目前的缓存技术也比较多,常见的NoSQL数据库也常被用来当缓存工具使用,本地缓存也能借助一些框架实现,这时的架构如下: 03 使用缓存后,数据访问压力会大大减小。...07 这两种技术主要目的就是加速用户的访问,使数据返回更快,同时还能减轻后端服务器的负载压力。...在数据已经达到服务器不能支持的时候,就可以拆分业务,让他们使用的数据库服务器部署在不同的物理服务器上: 09 2.8、使用NoSQL和搜索引擎 通常使用NoSQL和搜索引擎技术来处理复杂的数据存储和检索

55810

大型网站技术架构

下面我们就来说说这个演变过程: 初始阶段 大型网站都是由小型网站演变而来的,网站架构也一样 小型网站最开始没有太多人访问,只需要一台服务器就绰绰有余,就像这样: ?...小型网站架构 应用程序、数据库、文件等所有资源都在一台服务器上,通常使用 Linux PHP MySQL Apache 就可以完成整个项目部署,然后再买个域名,租一个廉价的服务器就可以开始我们的网站之旅了...,但随着用户的继续增加,我们需要对网站架构进一步优化 使用缓存改善性能 网站的访问一样遵循二八定律:80% 的业务访问集中在 20% 的数据上面 因此我们要对这一小部分的数据进行缓存来减轻数据库的访问压力...对于大型网站而言,无论多么强大的服务器,都满足不了持续增长的业务需求,更高效的方式就是增加服务器来分担压力 对于网站架构而言,如果增添一台新的服务器可以改善负载压力,那么就可以使用同样的方式来应对源源不断的业务需求...分布式 到这里,基本上大多数的技术问题都能得到解决,还有一些实时同步等具体业务问题也都可以通过现有的技术解决 小功能很简单,但是很实用,小伙伴们想玩更多的api,就可以参照上面的步骤自己去尝试吧!

1.8K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    大型网站技术架构

    早期的网站为了节省成本一般会设计成集中式系统,应用程序、数据库等都部署在一台服务器上。...: 响应时间:指应用执行一个操作需要的时间 并发数:指系统能够同时处理请求的数目 QPS:指单位时间内系统处理的请求量 系统性能计数器:描述服务器或者操作系统性能的一些数据指标 性能优化,根据网站分层架构...关系数据库集群的伸缩性设计 NoSQL 数据库的伸缩性设计 4、可扩展 系统架构设计层面的“开闭原则”,构建可扩展的网站架构 利用分布式消息队列降低耦合性 分布式消息队列 事件驱动架构(Event Driven...Architecture) 利用分布式服务打造可复用的业务平台 分布式服务框架设计(Thrift,Dubbo) 可扩展的数据结构(如 HBase的 ColumnFamily 设计) 利用开放平台建设网站生态圈...5、网站的安全架构 XSS 攻击和 SQL 注入攻击是构成网站应用攻击最主要的两种手段,此外还包括 CSRF,Session 劫持等手段。

    1.2K30

    大型网站技术架构

    早期的网站为了节省成本一般会设计成集中式系统,应用程序、数据库等都部署在一台服务器上。...: 响应时间:指应用执行一个操作需要的时间 并发数:指系统能够同时处理请求的数目 QPS:指单位时间内系统处理的请求量 系统性能计数器:描述服务器或者操作系统性能的一些数据指标 性能优化,根据网站分层架构...关系数据库集群的伸缩性设计 NoSQL 数据库的伸缩性设计 4、可扩展 系统架构设计层面的“开闭原则”,构建可扩展的网站架构 利用分布式消息队列降低耦合性 分布式消息队列 事件驱动架构(Event Driven...Architecture) 利用分布式服务打造可复用的业务平台 分布式服务框架设计(Thrift,Dubbo) 可扩展的数据结构(如 HBase的 ColumnFamily 设计) 利用开放平台建设网站生态圈...5、网站的安全架构 XSS 攻击和 SQL 注入攻击是构成网站应用攻击最主要的两种手段,此外还包括 CSRF,Session 劫持等手段。

    1.5K60

    大型网站技术架构(二)--大型网站架构演化

    何谓大型网站 大型网站系统特点: ps:符合这些要求的所谓大型网站真的很少,可遇而不可求也。...说到大型网站,就要先理一下大型网站的特点:高并发,大流量,高可用,海量数据等,本文根据《大型网站技术架构》一书整理如下: 初始阶段的网站架构 初始阶段都比较简单,通常一台服务器就可以搞定一个网站了,ssm-demo...使用反向代理和CDN加上网站相应 提高网站的访问速度,主要手段有使用CDN和反向代理。...使用NoSQL和搜索引擎 搜素引擎也基本已经形成现在大型网站必须提供的功能了,网站需要采用一些非关系数据库技术如NoSQL和非数据库查询技术如搜索引擎。...业务拆分 大型网站为了应对日益复杂的业务场景,通过使用分而治之的手段将真个网站业务拆分成不同的产品线。 具体到技术上,也会根据产品线话费,将一个网站拆分成许多不同的应用,每个应用独立部署维护。

    2.1K60

    大型网站技术架构网站的高可用架构(三)

    今天这篇文章,主要围绕着如何从多个方面来进行“高可用的网站架构”展开,网站页面能够完整呈现在最终用户面前,需要经过很多个环节,任何一个环节除了问题,都可能导致网站页面不可访问。...但对于网站整体而言,想要达到4个9甚至5个9的可用性,除了过硬的技术、大量的设备资金投入还需要有个好运气。...二、高可用的整体架构 我们一般将网站架构分为三层:应用层、服务层、数据层,应用层负责业务逻辑处理,服务层提供可复用的服务,数据层负责数据的封装与存储,各层之间相对独立。...由于网站架构资源中,硬件故障是最常见的问题。那么高可用架构的主要目的就是保证服务器在硬件故障时依然可用。主要手段是数据和服务的冗余备份以及失效转移。 ?...相关阅读: 大型网站技术架构,初入探秘(一) 大型网站技术架构网站的高性能架构(二)

    1.1K30

    大型网站架构技术-架构模式

    大型网站架构技术-架构模式 模式的关键在于模式的可重复性。 每一个模式描述了一个在我们周围不断变化重复发生的问题及该问题解决方案的核心。这样就能一次次的使用该方案而不必做重复的工作。...这是经过很多个实践,被很多网站重复使用而逐渐形成大型网站架构模式: 分层 将系统再横向维度上切成几个部分,每个部分负责一部分相对单一的职责。...反向代理:用户请求到网站的数据中心时,最先访问的是反向代理服务器,这里会缓存网站的静态资源。 本地缓存:应用服务器本地缓存的热点数据,可以在本机内存中直接访问,不需要访问数据库。...分布式消息队列的特性:网站扩展新功能便利,提高系统可用性,加快网站响应速度,消除并发访问高峰。 冗余 备份嘛,较少的机器可能坏的时间不长,但是小概率时间试验的次数过多的话就基本是必然事件了。...安全 密码和手机验证码;加密;网站验证码。

    64640

    大型网站架构技术模型

    网站技术架构设计模式 1.1 分层 如下所示网站基本分层 ?...三层架构逻辑上可以部署在同一台物理机上,但随着网站业务的发展,必须要对已分层的模块进行分开部署,也就是三层结构分别部署在不同的服务器上。使网站拥有越来越多的计算资源以应对越来越多的用户访问。...另一方面便于不同模块分布式部署,提高网站的并发能力与功能处理能力。 例如一个大型网站将购物,论坛,搜索,广告分割成不同的应用。由独立的团队负责部署在不同的机器上。...,并采用独立的域名,即我们常说的网站的动静分离。...1.5 缓存 1.5.1 CDN 用户的请求总是先到达,他的网络服务商哪里,在这里缓存一些网站的静态资源,可以以最大的速度返回给客户,如视频或着门户网站会将访问量大的热点内容缓存到CDN。

    1K30

    大型网站技术架构网站的高性能架构(二)

    今天这篇文章,主要围绕着如何从多个方面来进行“高性能网站架构”展开,性能优化小到一行代码的重构,大到服务器集群的重新架构。怎样通过各项数据指标来监控网站的实时性能?...找出网站的性能“弱点”,并以此为目标进行迭代式的优化,才能逐渐将网站架构达到一个高性能的水平。 ? 一、网站性能测试 网站的性能指标,既可以是开发人员客观的性能分析数据,测试指标。...一般而言,我们用如下指一些标来衡定一个网站的性能水平:响应时间、并发数量、吞吐量、性能计数器。...三、应用服务器优化 应用服务器主要用来处理系统业务,是整个网站架构中的核心,也是最复杂变化最多的部分。常用的优化手段有:使用分布式缓存(网站优化第一定律:优先考虑使用缓存。...但对于大量数据的存储需求,基于 MapReduce 可以进行并发任务处理的 HDFS 可能更加合适) 明天继续说,大型网站技术架构网站的高可用架构(三) 相关文章 【必知】大型网站技术架构,初入探秘(

    88930

    读《大型网站技术架构

    序 《大型网站技术架构》是自己接触的第一本架构知识的书籍,还是在14年时买的实体书,前后读了几遍,颇有所得,后来实体书被朋友借走再没归还,也就没再翻过。...同时也对架构师内涵和技术管理有所阐述,值得一读。...大型网站架构技术的核心价值是随网站所需灵活应对, 它是一个演化的过程 驱动大型网站技术发展的主要力量是网站的业务发展,是业务成就了技术,而不是相反。...因此要摒弃为了技术技术的套路 网站架构设计误区 一味追求大公司的解决方案 为了技术技术 企图用技术解决所有问题 2 架构模式 分层,这是在横向方向对系统进行切分 分层的挑战在于必须合理规划层次边界和接口...不能为了技术技术,能落地的架构才是好架构架构设计不能堆砌概念和模式,不能面面俱到却不解决具体问题。 做架构设计的目的不是为了炫耀自己知道多少术语。

    1.1K20

    大型网站架构技术-演化

    大型网站架构技术-演化 特点 高并发、大流量 高可用 海量数据 用户分布广泛、网络情况复杂 安全环境恶劣:易受攻击 需求变化快、发布频繁:为了快速适应市场 渐进式发展:逐渐进步发展 发展历程 初始阶段...使用缓存改善网站的性能 二八定律:80%的业务访问集中在20%的数据上,为了减少数据库的访问压力,可以将一些数据放到缓存服务器上,这样可以提高整个网站的数据访问速度。...采用应用服务器改善网站并发处理能力 当应用服务器处理不了较多的并发请求时,可以增加一台服务器分担原有的服务器的访问,在前面加一个负载均衡服务器。...使用反向代理和CDN加速网站响应 加速用户的访问。基本原理都是缓存,CDN是部署在网络提供商的机房,反向代理部署在网站的中心机房。...使用NoSQL和搜索引擎 网站业务越来越复杂,对数据存储和检索的需求也越来越复杂,需要采用一些非关系数据库技术和非数据库查询技术如搜索引擎。业务拆分 分而治之分布式服务

    52430

    大型网站技术架构演化

    何谓大型网站 ---- 大型网站系统特点: ? ps:符合这些要求的所谓大型网站真的很少,可遇而不可求也。...说到大型网站,就要先理一下大型网站的特点:高并发,大流量,高可用,海量数据等,本文根据《大型网站技术架构》一书整理如下: 初始阶段的网站架构 ---- 初始阶段都比较简单,通常一台服务器就可以搞定一个网站了...使用反向代理和CDN加上网站相应 ---- 提高网站的访问速度,主要手段有使用CDN和反向代理。 ?...搜素引擎也基本已经形成现在大型网站必须提供的功能了,网站需要采用一些非关系数据库技术如NoSQL和非数据库查询技术如搜索引擎。...具体到技术上,也会根据产品线话费,将一个网站拆分成许多不同的应用,每个应用独立部署维护。

    82920

    妄谈大型网站技术架构

    演化历程 先说一说每个做web的同学都应该了解一下的网站发展演化的历程。这个历程是怎么样的呢?...当你技术发展到一定程度之后,如果还是不能满足,那可以尝试把业务拆分,不要认为技术可以解决一切,有时候把业务拆分一下也可以解决你的问题。 误区 在考虑架构时有一些误区是我们要避免的。...指标 我们的标题是大型网站技术架构,那什么样的架构才是好的网站架构呢?我们从下面几个方面来考量它: 性能。性能是我们平常说的最多的,最直白的来说就是响应速度。 可用性。可用性是什么?...扩展性就是在你需求增加了的时候,好不好扩展,如果代码设计的很差,那每次加了新需求要变动的就会很大。 安全性。安全性很好理解,网络安全嘛。...参考书目:《大型网站技术架构:核心原理与案例分析》 查看作者首页

    44920

    架构技术专题」超详细网站伸缩性架构设计(7)

    首先,所谓网站的伸缩性,指不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力。...一、网站架构的伸缩性设计 1.1 不同功能进行物理分离实现伸缩 (1)纵向分离:将业务处理流程上得不同部分分离部署,实现系统的伸缩性; ?...2.2 负载均衡技术网站必不可少的基础技术手段 负载均衡的实现方式多种多样,从硬件到软件,从商业产品到开源产品,应有尽有。...四、数据存储服务器集群的伸缩性设计 首先,数据存储服务器必须保证数据的可靠存储,任何情况下都必须保证数据的可用性和正确性。因此,缓存服务器集群的伸缩性架构方案不能直接适用于数据库等存储服务器。...一个具有良好伸缩性的网站,其设计总是走在业务发展的前面,在业务需要处理更多访问和处理之前,就已经做好了充分的准备,当业务需要时,只需要增加服务器并简单部署就可以了,技术团队便可轻松应对了。

    41520

    「大型网站架构设计」—— 网站运行监控

    以后的文章也会在博客进行首发,快来关注我吧,我们继续一起探讨技术一同进步~ 本文主要是笔者对《大型网站技术架构》一书的总结归纳。...主要通过两种方式展现,一是通过「思维导图」的形式输出;另一种,就是本文以图文的形式更加详细和展开的描述‘大型网站技术架构’的方方面面。...四,网站运行监控 “不允许没有监控的系统上线”,这是许多网站架构师在做项目上线评审时常说的一句话。网站运行监控对于网站运维和架构设计优化至关重要,运维没有监控的网站,犹如架势没有仪表的飞机。...运行数据报告 除了服务器系统性能监控,网站还需要监控一些与具体业务场景相关的技术和业务指标。 运行数据需要在具体程序中采集并报告,汇总后统一显示,应用程序需要在代码中处理运行数据采集的逻辑。...网站在监控管理基础之上实现自动优雅降级,是网站柔性架构的理想状态:监控系统实时监控所有服务器的运行状况,根据监控参数判断应用访问负载情况,如果发现部分应用负载过高,而部分应用负载过低,就会适当卸载低负载应用部分服务器

    2.3K20

    「大型网站架构设计」—— 网站性能测试

    以后的文章也会在博客进行首发,快来关注我吧,我们继续一起探讨技术一同进步~ 本文主要是笔者对《大型网站技术架构》一书的总结归纳。...主要通过两种方式展现,一是通过「思维导图」的形式输出;另一种,就是本文以图文的形式更加详细和展开的描述‘大型网站技术架构’的方方面面。...、尽可能近地获取页面内容,即使不优化应用程序和架构,也可以很大程度地改善用户视角下的网站性能。...性能测试曲线 在开始阶段,随着并发请求数目的增加,系统使用较少的资源就达到较好的处理能力(a~b段),这一段是网站的日常运行区间,网站的绝大部分访问负载压力都集中在一段区间,被称作「性能测试」,测试目标是评估系统性能是否符合需求以及设计目标...、磁盘、网络、还是 CPU,是代码问题还是架构设计不合理,或者系统资源确实不足。

    1.8K20

    读书笔记 之《软件架构设计: 大型网站技术架构与业务架构融合之道》

    本文主要分享 《软件架构设计:大型网站技术架构与业务架构融合之道》 如有需要,可以参考 如有帮助,不忘 点赞 ❥ 微信公众号已开启,菜农曰,没关注的同学们记得关注哦!...今天带来的是 《软件架构设计:大型网站技术架构与业务架构融合之道》 的读书笔记 (文中使用到的例子贴图均出于原书) 在正式进入分享之前,我们想看下这本树的目录架构 软件架构设计:大型网站技术架构与业务架构融合之道...第一部分:什么是架构 第一部分由两个章节组成,简单的介绍了下什么是架构 第一章:五花八门的架构师职业 1.1 架构师职业分类 现在随便找一个招聘网站或猎头发布的招聘广告,我们都能看到各式各样的架构师头衔...支持业务的技术架构,业务架构和计数架构会相互作用,相互影响 第十四章:业务架构思维 1)伪分层 不管是业务架构还是技术架构,C端业务还是B端业务,我们都会用到分层技术 经典分层技术 伪分层的特征 底层调用上层...架构强调的不是系统能支持什么,而是系统的“约束”是什么,不管是业务约束,还是技术约束。没有“约束”,就没有架构

    1K20

    大型网站技术架构(四)--核心架构要素

    此篇已收录至《大型网站技术架构:核心原理与案例分析》读书笔记系列,点击访问该目录获取完整内容。...而软件架构即“有关软件整体结构与组件的抽象描述,用于指导大型软件系统各方面的设计”。 一般来说软件架构需要关注性能、可用性、伸缩性、扩展性和安全性这5个架构要素。 ?...性能 性能是网站架构设计的一个重要方面,任何软件架构设计方案都必须考虑可能带来的性能问题,也正因为性能问题几乎无处不在,所以优化网站性能的手段也非常多。...衡量一个系统架构设计是否满足高可用的目标,就是假设系统中任何一台或者多台服务器宕机时,以及出现各种不可预期的问题时,系统整体是否依然可用。 ?...扩展性 不同于其他架构要素主要关注非功能性需求,网站的扩展性架构直接关注网站的功能需求。网站快速发展,功能不断扩展,如何设计网站架构使其能够快速响应需求变化,是网站可扩展架构的主要目标。

    1.1K80

    大型网站技术架构(三)--架构模式

    网站架构模式:大型互联网公司在实践中提出了许多解决方案,以实现网站高性能、高可用、易伸缩、可扩展、安全等各种技术框架目标。这些解决方案又被更多网站重复使用,从而逐渐形成大型网站架构模式。...所谓网站架构模式即为了解决大型网站面临的高并发访问、海量数据、高可靠运行灯一系列问题与挑战,为此,在实践中提出了许多解决方案,以实现网站高性能、高可靠性、易伸缩、可扩展、安全等各种技术架构目标。...分层架构是逻辑上的,在物理部署上,三层架构可以部署在同一个物理机器上,但是随着网站业务的发展,必然需要对已经分层的模块分离部署,即三层结构分别部署在不同的服务器上,是网站拥有更多的计算资源以应对越来越多的用户访问...所以虽然分层架构模式最初的目的是规划软件清晰的逻辑结构以便于开发维护,但在网站的发展过程中,分层结构对网站支持高并发向分布式方向的发展至关重要。...在现在的软件设计中,缓存已经无处不在。 具体实现有CDN、反向代理、本地缓存、分布式缓存等。 ?

    88890
    领券