大型网站系统架构探秘之旅
大型网站系统架构,需要满足高性能、高可用、可伸缩、可扩展等特性,本专栏会带你进入这些领域,了解它们的设计原理与实践方法哦O(∩_∩)O~
Deniro Lee
这个作者很懒,什么都没留下…
展开
-
说说大型网站分布式服务框架的设计思想
1 网站功能持续膨胀后的困境与应对方式原先的网站架构是这样的:在业务量比较小(日均百万笔订单)的情况下,可以很好地支撑系统业务。但随着业务量的继续扩大,我们可能会想通过增加应用服务器的数量来处理这些新增的业务量,但这又给数据库的连接带来新的压力。而且,随着网站规模的增大、开发人员的增多,每个应用都变得复杂而臃肿,而且存在重复的代码。这样的状况影响到了整体的研发效率,而且对稳定性也造成了一定的影响。这原创 2017-12-01 15:48:52 · 998 阅读 · 0 评论 -
说说大型网站架构的演化历程
现今,全球有近一半的人口在使用互联网,人们的生活因互联网而发生了巨大的改变。在互联网跨越式的发展历程的背后是不堪重负的网站架构,某些 B2C 网站逢促销必宕机似乎成为一种必然的规律,最著名的例子就是早期的铁道部的电子客票售卖平台O(∩_∩)O~1 大型互联网应用的特点高并发,大流量:面对的是高并发的用户以及大流量的访问。高可用:系统 7 * 24 小时不间断服务。海量数据:需要存储并管理海量的原创 2017-09-14 17:59:39 · 1196 阅读 · 0 评论 -
说说大型网站的架构模式
在建筑领域是这样描述模式的:每一个模式描述了一个在我们周围不断重复发生的问题以及该问题的解决方案核心。我们可以一次又一次地使用这个方案而不必做重复的工作。模式的关键是可重复性,问题和场景的可重复性带来解决方案的可重复性。目前的网站架构有一些共同的模式(思路与解决方案),它们已经被大型网站一再验证,所以可以指导我们的架构设计。1 分层在横向维度上把系统划分为 3 层,每一层负责相对单一的职责,通过上层原创 2017-09-20 15:05:27 · 555 阅读 · 0 评论 -
说说大型网站架构的核心要素
架构,是最高层次的规划,难以改变的决定。这些规划与决定决定了事物发展的方向与最终蓝图。而软件架构指的是:有关软件的整体结构与组件的抽象描述,可用于指导大型软件系统各个方面的设计。这些部分可以是具体的功能模块,也可以是非功能的设计与决策,它们共同组成了软件系统的架构。下面我们会说说大型网站架构的五大核心要素:性能、可用性、伸缩性、扩展性以及安全性。1 性能性能是一个重要的指标。一个打开缓慢的网站会导致原创 2017-09-22 14:49:27 · 647 阅读 · 0 评论 -
说说如何实现高性能的网站架构
性能既是客观指标,诸如响应时间、吞吐量等技术指标;又是实际参与者的主观感受。1 性能测试性能测试是性能优化的前提与基础,也是优化结果的检查与度量标准。1.1 不同视角下的性能1.1.1 用户视角用户在浏览器上感受到网站响应速度的快慢,包括用户计算机与服务器通信的时间、服务器处理时间以及浏览器构造请求、解析响应数据的时间。在实践中有这些前端架构优化手段: 1. 优化页面 HTML; 2. 调整浏览原创 2017-10-06 14:59:14 · 1417 阅读 · 0 评论 -
说说如何实现高可用的网站架构
网站的可用性强调的是对最终用户的使用价值。它牵动着人们的神经,直接影响着公司的形象和利益,许多互联网公司都将网站的可用性列入工程师的绩效考核,与奖金、升迁等利益直接挂钩。1 可用性的度量与考核1.1 可用性度量网站不可用时间(故障时间) = 故障修复时间点 - 故障发现(报告)时间点网站年度可用性指标 = (1 - 网站不可用时间/年度总时间 ) * 100%业界通常用多个 9 来衡量网站的可用性:原创 2017-10-20 16:47:25 · 3706 阅读 · 0 评论 -
说说大型网站可伸缩性架构的设计原理
可伸缩性架构指的是:不改变网站的软硬件设计,只通过改变部署的服务器数量就可以扩大或缩小网站的服务处理能力。大型网站中的 “大型”,可以表现在以下几个方面: * 用户方面 - 大量的用户与大量访问(Facebook 有超过 20 亿的用户数) * 功能方面 - 功能庞杂,产品众多(腾讯有超过 1700 种产品) * 技术方面 - 部署大量的服务器(Google 有近 200 万台服务器)大型网站原创 2017-11-01 16:06:26 · 3424 阅读 · 0 评论 -
说说如何实现可扩展性的大型网站架构
网站的可扩展性架构设计,能够在对现有系统影响最小的情况下,系统功能可以可持续扩展及提升的能力。在此,对容易混为一谈的 “扩展性” 和 “伸缩性” 的概念进行详细说明:扩展性表现为:基础设施不需要经常变更,应用之间较少依赖或耦合,可以对需求变更快速响应。它对扩展开放,对修改关闭。架构设计会考虑到未来功能的可扩展性,所以当系统增加新功能时,不需要对现有系统的结构和代码进行修改。伸缩性是指系统通过增加(或原创 2017-11-06 15:40:05 · 16618 阅读 · 0 评论 -
说说网站限时秒杀系统的架构设计
时值双十一在即,各大网站都在争相进行限时秒杀的促销活动。秒杀是一种常见的营销手段,它指的是把少量的商品(一般是一件)以极低的价格,在特定的时间点开始销售。这些商品一般在活动开始的第一秒内就被买走咯,所以称之为秒杀。网站通过这种营销手段,制造轰动效应,已达到网站推广的目的。其实很多网站已经把秒杀活动常态化咯,它们会经常性地举行秒杀活动。秒杀对技术是一种极大的挑战,因为秒杀活动带来的并发访问量是平时的数原创 2017-11-09 15:42:29 · 1558 阅读 · 1 评论