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

大型网站的自强之路

1、大型网站的自强之路 当年马云筹办阿里巴巴的时候并没有说我要做个大型网站,搞个双11,成交额做到千亿级别;马化腾也没有说以后我要做个通讯工具,让13亿乃至更多用户都成为我们的用户……我们现如今看到的各个大型网站或产品都是一步步踏踏实实走过来的...1.2、我们需要丰富网站的功能 随着一个单机网站的不断完善,用户的增长,我们不再也不能只是一个完成缴费或者完成选课的单一功能的网站应用。...注意 因为这里使用了多个应用服务器,Session就不再像单应用服务器那样只有一个可选,这时候对于多个应用服务器,可能会出现这次的请求是被A应用服务处理,但是下一次就会被B应用服务器处理,应用Http...1.5、数据库扛不住了,读写分离 这个时候我们不能再把自己的应用网站成为小网站了,我们的数据量和访问量空前的增长以至于数据库有些hold不住了。...读写分离还有更多的延伸,包括使用缓存以及数据库的垂直和水平拆分等,后面再说吧。

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

    大型网站的灵魂——性能

    Via: http://blog.jobbole.com/84433/ 前言 在前一篇随笔《大型网站系统架构的演化》中,介绍了大型网站的演化过程,期间穿插了一些技术和手段,我们可以从中看出一个大型网站的轮廓...,但想要掌握设计开发维护大型网站的技术,需要我们一步一步去研究实践。...这是对于我们来说最可以发挥的地方: 1、使用缓存,根据需要使用本地缓存或分布式缓存; 2、使用异步操作,这种方式不仅可以提高性能,也提高了系统的扩展性; 3、代码优化; 4、存储优化; 缓存 如果缓存数据较少...存储优化 大型网站中海量的数据读写对磁盘造成很大压力,系统最大的瓶颈还是在磁盘的读写。可以考虑使用磁盘阵列、分布式储存来改善存储的性能。...参考资料: 《海量运维运营规划》 《大型网站技术架构》 《构建高性能web站点》

    1K60

    大型网站架构体系的演变

    ,有些主要是从运维和基础架构的角度去分析的(堆机器,做集群),太关注技术细节实现,普通的开发人员基本看不太懂。...本文上篇将主要介绍大型网站基础架构的扩展,下篇则重点从应用程序的角度去介绍网站架构的扩展和演变。   草根时期,快速开发网站并上线。...国内南北互联网问题比较严重,使用CDN可以有效解决这个问题。 CDN的基本原理并不复杂,可以理解为智能DNS+Squid反向代理缓存 ,然后需要有很多机房节点提供访问。...随着业务越来越复杂,网站的功能越来越多,虽然部署层面是采用的集群,但是应用程序架构层面还是“集中式”的,这样会导致很多耦合,不便于开发、维护,而且容易“一荣俱损”。...这样,传说中的SOA的价值就得到体现了。 应用、服务之间还是会出现一些依赖问题,这时候,高吞吐量的解耦利器出现了 最后,还介绍一个大型互联网公司都用的绝技--分库分表。

    70270

    大型门户网站建设服务器的选购 大型门户网站怎么搭建

    有些企业想做大型的门户网站,这类型的网站对服务器有着极高的需求。下面就给大家分享一下大型门户网站建设服务器的选购。...大型门户网站建设服务器怎么选 大型门户网站建设服务器的选购主要看三点:安全性、防御能力以及访问速度。...由此可见,以上三点都是大型门户网站选购服务器的重点。...大型门户网站怎么搭建 想要搭建大型门户网站,首先就要做好网站的框架,分析用户群体的习惯,将门户网站的功能做到最精细化,方便用户访问点击的时候也要知道用户的需求是什么。...总的来说,想要搭建一个完善的大型门户网站,服务器的配置一定不能低。

    3.7K50

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

    一、可用性度量 我们通常使用多少个9来衡量网站的可用性,比如4个9代表一个服务99.99%可用,即该需要保证在单位时间内只有0.01%的时间可以发生故障服务不可用。2个9与3个9的意思也同样如此。...一般为了将网站的可用性指标转换成对应的责任度量下放到个人或者组织,我们一般使用“故障分”来对网站的单位时间故障进行加权计算,进而将责任分担下放到个人,加入其年度的绩效考核中。...服务的设计同样需要遵循几个原则:分级管理(核心应用和服务优先使用更好的硬件,核心服务和数据需要部署在不同地域的数据中心,低优先级的服务甚至可以只使用多线程来隔离)、超时设置(设置服务的远程调用超时时间,...同时对于大型网站的软件发布,我们可以采用“灰度发布”的方式,即一段时间内只发布线上集群中的一部分机器,待观察一段时间没有问题后,再逐渐发布集群内的其他机器。...相关阅读: 大型网站技术架构,初入探秘(一) 大型网站技术架构,网站的高性能架构(二)

    1.1K30

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

    今天这篇文章,主要围绕着如何从多个方面来进行“高性能网站架构”展开,性能优化小到一行代码的重构,大到服务器集群的重新架构。怎样通过各项数据指标来监控网站的实时性能?...找出网站的性能“弱点”,并以此为目标进行迭代式的优化,才能逐渐将网站架构达到一个高性能的水平。 ? 一、网站性能测试 网站的性能指标,既可以是开发人员客观的性能分析数据,测试指标。...三、应用服务器优化 应用服务器主要用来处理系统业务,是整个网站架构中的核心,也是最复杂变化最多的部分。常用的优化手段有:使用分布式缓存(网站优化第一定律:优先考虑使用缓存。...)、使用共享队列、使用集群、代码优化(采用多线程,线程数一般与 CPU 数量成正比,使用无状态对象或者加锁来防止一致性问题,数据连接、通信连接等资源复用) 四、存储系统优化 使用 SSD 硬盘、使用 NoSql...但对于大量数据的存储需求,基于 MapReduce 可以进行并发任务处理的 HDFS 可能更加合适) 明天继续说,大型网站技术架构,网站的高可用架构(三) 相关文章 【必知】大型网站技术架构,初入探秘(

    89730

    使用 OAuth 实现大型网站现代化的 5 个步骤

    我还将假设组织从一个大型网站开始,该网站以基本方式使用基于 OAuth 的登录和安全 cookie,但没有充分利用该架构。 初始网站架构 考虑以下处理保险业务逻辑的大型网站示例。...开发人员可能知道如何将大型代码库重构为多个应用程序。但是,这样做还需要更改 Web 后端的部署和 cookie 安全性。...公司通常希望使用诸如 React 之类的框架,开发人员可以在其中编写仅关注前端的代码,并专注于提供最佳的客户体验。这对商业领袖很有效,因为他们通常不希望 Web 开发人员处理 Web 后端管道。...这是一种比大型网站使用的设计更安全的设计,这些大型网站的 cookie 授予对许多业务领域的访问权限。 在此阶段,可能会有一个学习曲线,因此请计划一些峰值以降低它的风险。...将较新的 SPA 与现有大型网站集成时,请使用单点登录 (SSO),这样 SPA cookie 就不会与网站共享。然后,每个新应用程序都会获得自己的最低权限令牌,从而实现最佳安全性。

    11110

    大型网站架构体系的演变(上)

    互联网上有很多关于网站架构的各种分享,有些主要是从运维和基础架构的角度去分析的(堆机器,做集群),太关注技术细节实现,普通的开发人员基本看不太懂。...本文上篇将主要介绍大型网站基础架构的扩展,下篇则重点从应用程序的角度去介绍网站架构的扩展和演变。 草根时期,快速开发网站并上线。当然,通常只是先试水,用户规模也没有形成,经济能力和投入也非常有限。...有一定的业务量和用户规模了,想提升网站速度,于是,缓存出场了。 ? 市场反响还不错,用户量每天在增长,数据库疯狂读写,逐渐发现一台服务器快撑不住了。于是,决定把DB和APP做分离。 ?...由于大部分互联网“读多写少”的特性所决定的。Salve的台数,取决于按业务评估的读写比例。 ?...Java领域用的较多的是Lucene、Solr等,而php领域用的比较多的是sphinx/coreseek。 ? 到目前为止,一个能够承载日均百万级访问量的中型网站架构基本介绍完了。

    38520

    大型网站架构体系的演变(下)

    可以需要开发人员配合(把静态资源放独立站点下),也可以不需要开发人员配合(利用7层反向代理来处理,根据后缀名等信息来判断资源类型)。有了单独的静态文件服务器之后,存储也是个问题,也需要扩展。...国内南北互联网问题比较严重,使用CDN可以有效解决这个问题。 CDN的基本原理并不复杂,可以理解为智能DNS+Squid反向代理缓存 ,然后需要有很多机房节点提供访问。 ?...随着业务越来越复杂,网站的功能越来越多,虽然部署层面是采用的集群,但是应用程序架构层面还是“集中式”的,这样会导致很多耦合,不便于开发、维护,而且容易“一荣俱损”。...所以,通常会把网站拆分出不同的子站点来单独宿主。 ? 应用都拆了,由于单个数据库的连接,QPS,TPS,I/O处理能力都非常有限,DB层面也可以去做垂直分库操作 ?...这样,传说中的SOA的价值就得到体现了。 ? 应用、服务之间还是会出现一些依赖问题,这时候,高吞吐量的解耦利器出现了 ? 最后,还介绍一个大型互联网公司都用的绝技--分库分表。

    42710

    笔记 | 大型网站的特点与设计宗旨

    大型网站的9大特点 1. 高并发,流量大 2. 高可用 3. 大数据 4. 敏捷开发,迭代快 5. 用户量庞大 6. 可持续升级 7. 安全级别高 8. 可弹性伸缩 9...., 一般大型网站,1~2周迭代一次,中小型网站发布更为频繁 用户量庞大 用户分布广,分散的用户个体,分布在全国(全球)各地 网络情况复杂,各大运营商网络互通困难 可持续升级 所有的大型网站都是从小网站,...可弹性伸缩 服务器可以动态的增加,不需要的时候可以适当的减少 吞吐量高 要保证用户每次的请求响应速度是最快的 大型网站的设计宗旨 合久必分 缓存和页面静态化 集群 CDN 分布式系统 异步 NoSQL...通过专门的域名去访问 存放静态资源的服务器,一般都使用Nginx提供反向代理,理论上单个Nginx可以承受5万并发 业务分离 分类各个业务模块,独立出一个子系统或子服务 缓存和页面静态化 缓存是数据量大最直接的解决方案...缓存是保存数据,而页面静态化是保存带数据的页面。 使用模板技术生成,如 thymeleaf,freemaker等。

    71510

    Mysql在大型网站的应用架构演变

    写在最前: 本文主要描述在网站的不同的并发访问量级下,Mysql架构的演变 可扩展性 架构的可扩展性往往和并发是息息相关,没有并发的增长,也就没有必要做高可扩展性的架构,这里对可扩展性进行简单介绍一下,...,无疑Scale out才是出路,通过纵向的买更高端的机器一直是我们所避讳的问题,也不是长久之计,在scale out的理论下,可扩展性的理想状态是什么?...可扩展性的理想状态 一个服务,当面临更高的并发的时候,能够通过简单增加机器来提升服务支撑的并发度,且增加机器过程中对线上服务无影响(no down time),这就是可扩展性的理想状态!...架构的演变 V1.0 简单网站架构 一个简单的小型网站或者应用背后的架构可以非常简单, 数据存储只需要一个mysql instance就能满足数据读取和写入需求(这里忽略掉了数据备份的实例),处于这个时间段的网站...就是从业务角度来看,将关联性不强的数据拆分到不同的instance上,从而达到消除瓶颈的目标。以图中的为例,将用户信息数据,和业务数据拆分到不同的三个实例上。

    1K80

    上个小菜:大型网站的访问全流程

    访问一个大型网站,当你输入www.sina.com.cn网址后,几秒后,在网页中显示了具体内容,这一切经历了什么?其实台上一分钟,台下十年功,背后发生了很多事,今天我们一起来看一看。...1、在IE中输入域名后,首先访问DNS 你先发现通过智能DNS的作用,不同的来源,比如电信、移动、联通的用户,得到的IP地址是不同的。这样能从第一步保证网站的访问速度。...如果你访问了该网站的多个网页,那么一个UV对应多个PV。如果是一个购物型的网站,PV值应更小一些,保证用户能过几个网页即可成功下单。...注:用户如果需要使用CDN服务,需要将网站的CNAME指向提供CDN服务的服务商智能DNS中。通过智能DNS的调度,将你的静态资源请求指向最近的CDN服务器。...一个网站的结果呈现,上面的简介只是一个非常简略的过程,实际过程还有待我们继续学习。

    93830

    对某大型网站的逻辑漏洞发现

    本文作者:少年英雄宋人头(Ms08067实验室成员) 什么是逻辑漏洞 逻辑漏洞产生是因为编写代码时人的思维逻辑产生的不足导致的应用程序在逻辑上的缺陷,与传统的WEB漏洞相比,逻辑漏洞无法通过漏洞扫描进行识别...,利用过程中不会对原始程序进行破坏、不会产生非法流量被防火墙拦截;而是通过合法的方式达到目的,比如通过修改返回包绕过验证,截取服务器返回到客户端的验证码,通过修改参数获取权限等。...实战案例--某大型网站的验证绕过 在对某大型网站进行测试的过程,发现存在一个修改密码的页面,而且这个页面的格式有种似曾相识的感觉(之前提交过一个类似的密码重置漏洞)第一反应是,这个位置是不是存在类似的漏洞...首先,修改密码需要提交注册邮箱(这个邮箱是盲猜的,应该是之前某大神测试的时候留下的),然后发送一下验证码,并且随意填写六位验证码(至于为啥是六位,当然是因为页面存在提示)。 ?...回到页面即可看到页面已成功绕过邮箱验证,进入到了修改密码的步骤(作为新时代的好青年,没有进行下一步修改密码的操作,点到为止) ?

    62110

    存储的瓶颈--大型网站技术演进思考

    二,什么网站是大型网站 首先我们要思考一个问题,什么样的网站才是大型网站,从网站的技术指标角度考虑这个问题人们很容易犯一个毛病就是认为网站的访问量是衡量的指标,懂点行的人也许会认为是网站在单位时间里的并发量的大小来作为指标...,如果按这些标准那么像hao123这样的网站就是大型网站了,如下图所示: ?...我觉得大型网站是技术和业务的结合,一个满足某些用户需求的网站只要技术和业务二者有一方难度很大,必然会让企业投入更多的、更优秀的人力成本实现它,那么这样的网站就是所谓的大型网站了。...这个结构非常简单,其实大部分初建网站开发里往往业务逻辑没有企业级系统那么复杂,所以只要有个好的idea,建设一个新网站的成本是非常低的,所使用的技术手段也是非常的基本和简单,不过该图我们要准备三台服务器...不过要做到以上两点,并不是我们简单将网站分开部署就可以满足的,因为大多数网站在用户使用时候都是要保持用户的状态,具体点就是网站要记住请求是归属到那一个客户端,而这个状态在网站开发里就是通过会话session

    94980

    大型网站电商网站架构案例和技术架构的示例

    一、电商案例的原因 分布式大型网站,目前看主要有几类1.大型门户,比如网易,新浪等;2.SNS网站,比如校内,开心网等;3.电商网站:比如阿里巴巴,京东商城,国美在线,汽车之家等。...大型门户一般是新闻类信息,可以使用CDN,静态化等方式优化,开心网等交互性比较多,可能会引入更多的NOSQL,分布式缓存,使用高性能的通信框架等。...2、网站技术架构示例 最近我在阅读 2 本关于大型网站架构的书:《大型网站技术架构——核心原理与案例分析》李智慧、《大型网站系统与 Java 中间件实践》曾宪杰。...对于“大型网站的设计”,我个人的看法是现在我们的有“云”了,计算是可以买的,只要我们的设计能适应“云”,我是不是就可以一开始就设计大型网站了? 演进的过程会遇到什么问题。 - 最初 从一个小网站说起。...6、开发数据统一访问模块:解决上层应用开发的数据源问题。 - 业务拆分及应用拆分 网站的业务日益复杂,建立一个独立的大型应用来完成这所有的业务变得不实际。从管理角度来,也不方便管理。

    2.9K83

    你了解大型网站的页面静态化吗?

    目录 前言 方案一:网页静态HTML化 伪静态 布局样式模板化 应用层nginx 分发层nginx 前言 我们小伙伴们在访问淘宝、网易等大型网站时有没有考虑到,网站首页、商品详情页以及新闻详情页面是如何处理的...这个大型网站肯定都会用到的,什么是CDN,小伙伴们可以在网上查询看一下,比较简单;我们这边注重看技术方案。...方案一:网页静态HTML化 这个方案是老顾最早使用的方案,我们就拿CMS系统举例,类似网易的新闻网站;核心流程图 ?...这个是因为大型网站的商品数太多了,应用层nginx的本地缓存是有限的,不可能把所有的商品数据缓存在同一个服务器的本地缓存;一台应用层nginx只能缓存部分商品数据,说到这里小伙伴是不是应该就知道为什么了吧...总结: 方案三是比较完整的方案,很多大厂都在使用,能够承受亿级流量,但系统比较复杂。 如果对实时性要求不高,布局样式调整不频繁,可以考虑方案二,系统比较简单

    5.7K41
    领券