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

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

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

2.1K60

大型网站技术架构

缩短业务流程,加快网站访问速度 消除并发访问高峰 架构五要素: 高性能 可用性(Availability) 伸缩性(Scalability) 扩展性(Extensibility) 安全性 1、高性能 性能的测试指标主要有...: 响应时间:指应用执行一个操作需要的时间 并发数:指系统能够同时处理请求的数目 QPS:指单位时间内系统处理的请求量 系统性能计数器:描述服务器或者操作系统性能的一些数据指标 性能优化,根据网站分层架构...警报系统 自动优雅降级 用户行为日志采集(服务器端和客户端) 服务器性能监控 监控数据采集 监控管理 3、伸缩性 大型网站需要面对大量用户的高并发访问和存储海量数据,不可能只用一台服务器就处理全部用户请求...“开闭原则”,构建可扩展的网站架构 利用分布式消息队列降低耦合性 分布式消息队列 事件驱动架构(Event Driven Architecture) 利用分布式服务打造可复用的业务平台 分布式服务框架设计...(Thrift,Dubbo) 可扩展的数据结构(如 HBase的 ColumnFamily 设计) 利用开放平台建设网站生态圈 5、网站的安全架构 XSS 攻击和 SQL 注入攻击是构成网站应用攻击最主要的两种手段

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

    大型网站技术架构

    缩短业务流程,加快网站访问速度 消除并发访问高峰 架构五要素: 高性能 可用性(Availability) 伸缩性(Scalability) 扩展性(Extensibility) 安全性 1、高性能 性能的测试指标主要有...: 响应时间:指应用执行一个操作需要的时间 并发数:指系统能够同时处理请求的数目 QPS:指单位时间内系统处理的请求量 系统性能计数器:描述服务器或者操作系统性能的一些数据指标 性能优化,根据网站分层架构...警报系统 自动优雅降级 用户行为日志采集(服务器端和客户端) 服务器性能监控 监控数据采集 监控管理 3、伸缩性 大型网站需要面对大量用户的高并发访问和存储海量数据,不可能只用一台服务器就处理全部用户请求...“开闭原则”,构建可扩展的网站架构 利用分布式消息队列降低耦合性 分布式消息队列 事件驱动架构(Event Driven Architecture) 利用分布式服务打造可复用的业务平台 分布式服务框架设计...(Thrift,Dubbo) 可扩展的数据结构(如 HBase的 ColumnFamily 设计) 利用开放平台建设网站生态圈 5、网站的安全架构 XSS 攻击和 SQL 注入攻击是构成网站应用攻击最主要的两种手段

    1.5K60

    大型网站技术架构

    网站都是从小网站一步一步发展为大型网站的,而这之中的挑战主要来自于庞大的用户、安全环境恶劣、高并发的访问和海量的数据,任何简单的业务处理,一旦需要处理数以 P 计的数据和面对数以亿计的用户时,问题就会变的很棘手...下面我们就来说说这个演变过程: 初始阶段 大型网站都是由小型网站演变而来的,网站架构也一样 小型网站最开始没有太多人访问,只需要一台服务器就绰绰有余,就像这样: ?...对于大型网站而言,无论多么强大的服务器,都满足不了持续增长的业务需求,更高效的方式就是增加服务器来分担压力 对于网站架构而言,如果增添一台新的服务器可以改善负载压力,那么就可以使用同样的方式来应对源源不断的业务需求...使用搜索引擎和nosql 业务拆分 对于大型网站,我们可以分而治之,把整个网站的业务分为不同的模块,比如大型的交易购物完整可以分为首页、店铺、订单、买家等,分别交给不同的业务团队来负责 同时我们将一个网站根据模块划分拆分成多个应用...分布式 到这里,基本上大多数的技术问题都能得到解决,还有一些实时同步等具体业务问题也都可以通过现有的技术解决 小功能很简单,但是很实用,小伙伴们想玩更多的api,就可以参照上面的步骤自己去尝试吧!

    1.8K80

    大型网站架构技术模型

    网站技术架构设计模式 1.1 分层 如下所示网站基本分层 ?...三层架构逻辑上可以部署在同一台物理机上,但随着网站业务的发展,必须要对已分层的模块进行分开部署,也就是三层结构分别部署在不同的服务器上。使网站拥有越来越多的计算资源以应对越来越多的用户访问。...另一方面便于不同模块分布式部署,提高网站的并发能力与功能处理能力。 例如一个大型网站将购物,论坛,搜索,广告分割成不同的应用。由独立的团队负责部署在不同的机器上。...1.3.3.3 分布式数据与存储 大型网站要处理以P为单位的海量数据,单台机器就算进行了磁盘扩容的情况下也存储不了那么多大的容量的时候就采用分布式存储,除了对传统数据库进行分布式部署外,还要对nosql...1.5.4 分布式缓存 大型网站的数据量非常庞大,即使只缓存一小部分,需要的内存空间也不是单机能承受的,所以除了本地缓存,还需要分布式缓存。将数据缓存在一个装门的分布式缓存集群中。

    1K30

    妄谈大型网站技术架构

    引 网络架构这个问题,我认为不是一个后台、架构师等等才需要考虑的问题,不管是前端也好,移动端也好,都应该多考虑考虑这个层面的问题,包括之后公司对你的要求也是这样的,不是说你会写业务会写功能就很ok,而是要求你有更大...演化历程 先说一说每个做web的同学都应该了解一下的网站发展演化的历程。这个历程是怎么样的呢?...当你技术发展到一定程度之后,如果还是不能满足,那可以尝试把业务拆分,不要认为技术可以解决一切,有时候把业务拆分一下也可以解决你的问题。 误区 在考虑架构时有一些误区是我们要避免的。...指标 我们的标题是大型网站技术架构,那什么样的架构才是好的网站架构呢?我们从下面几个方面来考量它: 性能。性能是我们平常说的最多的,最直白的来说就是响应速度。 可用性。可用性是什么?...参考书目:《大型网站技术架构:核心原理与案例分析》 查看作者首页

    44920

    大型网站技术架构演化

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

    82920

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

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

    55810

    读《大型网站技术架构

    序 《大型网站技术架构》是自己接触的第一本架构知识的书籍,还是在14年时买的实体书,前后读了几遍,颇有所得,后来实体书被朋友借走再没归还,也就没再翻过。...image.png 1 架构演化 大型网站的关注指标 高可用 高性能 易扩展 可伸缩 安全 大型网站的特点 高并发,大流量 高可用 海量数据 用户分布广泛,网络情况复杂 安全环境恶劣 需求快速变更,发布频繁...image.png 大型网站架构演化的价值观 网站的价值在于它能为用户提供什么价值,在于网站能做什么,而不在于它是怎么做的。...大型网站架构技术的核心价值是随网站所需灵活应对, 它是一个演化的过程 驱动大型网站技术发展的主要力量是网站的业务发展,是业务成就了技术,而不是相反。...因此要摒弃为了技术技术的套路 网站架构设计误区 一味追求大公司的解决方案 为了技术技术 企图用技术解决所有问题 2 架构模式 分层,这是在横向方向对系统进行切分 分层的挑战在于必须合理规划层次边界和接口

    1.1K20

    大型网站架构技术-演化

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

    52430

    大型网站技术架构》读书笔记一:大型网站架构演化

    此篇已收录至《大型网站技术架构》读书笔记系列目录贴,点击访问该目录可获取更多内容。...5)安全环境恶劣:黑客的攻击   (6)需求快速变更,发布频繁:快速适应市场,满足用户需求   (7)渐进式发展:慢慢地运营出大型网站 二、大型网站架构演化过程   (1)初始阶段网站架构:一台Server...就刚需—应用程序、数据库、文件等所有资源都集中在一台Server上,典型案例:基于LAMP架构的PHP网站 ?...三、大型网站架构演化价值观   (1)核心价值:随网站所需灵活应对   大型网站不是从无到有一步就搭建好一个大型网站,而是能够伴随小型网站业务的渐进发展,慢慢地演化成一个大型网站。...(2)驱动力量:网站的业务发展—业务成就了技术,事业成就了人,而不是相反 四、大型网站架构设计的误区   (1)一味追随大公司的解决方案   (2)为了技术技术->常见问题   (3)企图用技术解决所有问题

    90810

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

    大型网站架构技术-架构模式 模式的关键在于模式的可重复性。 每一个模式描述了一个在我们周围不断变化重复发生的问题及该问题解决方案的核心。这样就能一次次的使用该方案而不必做重复的工作。...这是经过很多个实践,被很多网站重复使用而逐渐形成大型网站架构模式: 分层 将系统再横向维度上切成几个部分,每个部分负责一部分相对单一的职责。...大型网站中一般分为三层: 应用层:负责具体业务和视图展示。 服务层:为应用层提供服务支持。 数据层:提供数据存储访问服务。如数据库、缓存、文件、搜索引擎等。...反向代理:用户请求到网站的数据中心时,最先访问的是反向代理服务器,这里会缓存网站的静态资源。 本地缓存:应用服务器本地缓存的热点数据,可以在本机内存中直接访问,不需要访问数据库。...安全 密码和手机验证码;加密;网站验证码。

    64640

    大型网站技术架构》读书笔记二:大型网站架构模式

    此篇已收录至《大型网站技术架构》读书笔记系列目录贴,点击访问该目录可获取更多内容。 一、分层   最常见的架构模式,将系统在横向维度上切分成几个部分,每个部分单一职责。...但是,分层架构也有一些挑战:①必须合理规划层次边界和接口;②禁止跨层次的调用及逆向调用。...①CDN:内容分发网络,缓存网站的一些静态资源; ?   ②反向代理:部署在网站的前端,最先访问到的就是反向代理服务器; ?   ...异步架构是典型的生产者消费者模式,两者不存在直接调用,只要保持数据结构不变,彼此功能实现可以随意变化而不互相影响,这对网站扩展新功能非常便利。 ?   ...八、自动化   在无人值守的情况下,网站可以正常运行,一切都可以自动化是网站的理想状态。目前大型网站的自动化架构设计主要集中在发布运维方面。

    79120

    大型网站技术架构总结一二

    缩短业务流程,加快网站访问速度 消除并发访问高峰 架构五要素: 高性能 可用性(Availability) 伸缩性(Scalability) 扩展性(Extensibility) 安全性 1、高性能 性能的测试指标主要有...: 响应时间:指应用执行一个操作需要的时间 并发数:指系统能够同时处理请求的数目 QPS:指单位时间内系统处理的请求量 系统性能计数器:描述服务器或者操作系统性能的一些数据指标 性能优化,根据网站分层架构...警报系统 自动优雅降级 用户行为日志采集(服务器端和客户端) 服务器性能监控 监控数据采集 监控管理 3、伸缩性 大型网站需要面对大量用户的高并发访问和存储海量数据,不可能只用一台服务器就处理全部用户请求...“开闭原则”,构建可扩展的网站架构 利用分布式消息队列降低耦合性 分布式消息队列 事件驱动架构(Event Driven Architecture) 利用分布式服务打造可复用的业务平台 分布式服务框架设计...(Thrift,Dubbo) 可扩展的数据结构(如 HBase的 ColumnFamily 设计) 利用开放平台建设网站生态圈 5、网站的安全架构 XSS 攻击和 SQL 注入攻击是构成网站应用攻击最主要的两种手段

    49320

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

    此篇已收录至《大型网站技术架构》读书笔记系列目录贴,点击访问该目录可获取更多内容。 一、性能—响应时间决定用户 (1)浏览器端:   ①浏览器缓存;   ②使用页面压缩; ?    ...简介:http://baike.baidu.com/view/794242.htm   Redis简介:http://baike.baidu.com/view/4595959.htm (4)服务器集群技术...全靠9来撑腰:几乎所有网站都承诺7*24小时可用,但事实上都不可能完全实现,总会有一些故障时间。那么,去除这些故障时间就是网站的总可用时间。...换算成网站的可用性指标,以此衡量网站的可用性,例如某些知名网站可用性达到99.99%。 (2)哪些手段提高可用性?   ...; (2)主要手段:   ①事件驱动架构:利用消息队列实现;   ②分布式服务:将业务和可复用服务分离; 五、安全性—妈妈再也不用担心的我的照片了 (1)何为安全性?

    50520

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

    此篇已收录至《大型网站技术架构:核心原理与案例分析》读书笔记系列,点击访问该目录获取完整内容。...而软件架构即“有关软件整体结构与组件的抽象描述,用于指导大型软件系统各方面的设计”。 一般来说软件架构需要关注性能、可用性、伸缩性、扩展性和安全性这5个架构要素。 ?...几乎所有网站都承诺7×24小时可用,但事实上任何网站都不可能达到完全的7×24,总会有一些故障时间,扣除这些故障时间,就是网站的可用时间。一些大型网站可以做到4个9以上的可用性,也就是99.99%。...伸缩性 大型网站需要面对大量用户的高并发访问和存储海量数据,网站通过集群的方式将多台服务器组成一个整体共同提供服务。...扩展性 不同于其他架构要素主要关注非功能性需求,网站的扩展性架构直接关注网站的功能需求。网站快速发展,功能不断扩展,如何设计网站架构使其能够快速响应需求变化,是网站可扩展架构的主要目标。

    1.1K80

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

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

    88930

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

    今天这篇文章,主要围绕着如何从多个方面来进行“高可用的网站架构”展开,网站页面能够完整呈现在最终用户面前,需要经过很多个环节,任何一个环节除了问题,都可能导致网站页面不可访问。...但对于网站整体而言,想要达到4个9甚至5个9的可用性,除了过硬的技术、大量的设备资金投入还需要有个好运气。...由于网站架构资源中,硬件故障是最常见的问题。那么高可用架构的主要目的就是保证服务器在硬件故障时依然可用。主要手段是数据和服务的冗余备份以及失效转移。 ?...同时对于大型网站的软件发布,我们可以采用“灰度发布”的方式,即一段时间内只发布线上集群中的一部分机器,待观察一段时间没有问题后,再逐渐发布集群内的其他机器。...相关阅读: 大型网站技术架构,初入探秘(一) 大型网站技术架构网站的高性能架构(二)

    1.1K30
    领券