架构思维-《扫盲篇》

关注公众号架构思维干货优先看

关于架构技术原理的组织方式以架构要素作为维度,从系统性能、可用性、伸缩性、扩展性、安全性几个角度阐述网站架构技术要点。还有另一种较为直观的组织方 式是从不同架构层次所使用的网站架构技术这个维度进行描述的。
网站系统架构层次如图A.1所示。

图A.1 网站系统层次架构层次

前段架构

前端指用户请求到达网站应用服务器之前经历的环节,通常不包含网站业务逻辑, 不处理动态内容。

浏览器优化技术

并不是优化浏览器,而是通过优化响应页面,加快浏览器页面的加载和显示,常用的有页面缓存、合并HTTP减少请求次数、使用页面压缩等。

CDN

内容分发网络,部署在网络运营商机房,通过将静态页面内容分发到离用户S近的 CDN服务器,使用户可以通过最短路径获取内容。

动静分离,静态资源独立部署

静态资源,如JS、CSS等文件部署在专门的服务器集群上,和Web应用动态内容服 务分离,并使用专门的(二级)域名。

图片服务

图片不是指网站Logo、按钮图标等,这些文件属于上面提到的静态资源,应该和JS、 CSS部署在一起。这里的图片指用户上传的图片,如产品图片、用户头像等,图片服务 同样使用独立部署的图片服务器集群,并使用独立(二级)域名。

反向代理

部署在网站机房,在应用服务器、静态资源服务器、图片服务器之前,提供页面缓 存服务。

DNS

域名服务,将域名解析成1P地址,利用DNS可以实现DNS负载均衡,配H CDN 也需要修改DNS,使域名解析后指向CDN服务器

应用层架构

应用层是处理网站主要业务逻辑的地方。

开发框架

网站业务是多变的,网站的大部分软件工程师都是在加班加点开发网站业务,一个 好的开发框架至关重要。一个好的开发框架应该能够分离关注面,使美工、开发工程师 可以各司其事,易于协作。同时还应该内罝一些安全策略,防护Web应用攻击。

页面渲染

将分别开发维护的动态内容和静态页面模板集成起来,组合成最终显示给用户的完 整页面。

负载均衡

将多台应用服务器组成一个集群,通过负载均衡技术将用户请求分发到不同的服务 器上,以应对大M用户同时访问时产生的高并发负载压力。

Session 管理

为了实现高可用的应用服务器集群,应用服务器通常设计为无状态,不保存用户请 求上下文信息,但是网站业务通常需要保持用户会话信息,需要专门的.机制管理Session, 使集群内甚至跨集群的应用服务器可以共享Session。

动态页面静态化

对于访问M特别大而更新又不很频繁的动态页面,可以将其静态化,即生成一个静 态页面,利用静态页面的优化手段加速用户访问,如反向代理、CDN、浏览器缓存等。

业务拆分

将复杂而又庞大的业务拆分开来,形成多个规模较小的产品,独立开发、部署、维 护,除了降低系统耦合度,也便于数据库业务分库。按业务对关系数据库进行拆分,技 术难度相对较小,而效果又相对较好。

虚拟化服务器

将一台物理服务器虚拟化成多台虚拟服务器,对于并发访问较低的业务,更容易用 较少的资源构建高可用的应用服务器集群。

服务层架构

提供基础服务,供应用层调用,完成网站业务。

分布式消息

利用消息队列机制,实现业务和业务、业务和服务之间的异步消息发送及低耦合的 业务关系。

分布式服务

提供高性能、低耦合、易复用、易管理的分布式服务,在网站实现面向服务架构 (SOA)

分布式缓存

通过可伸缩的服务器集群提供大规模热点数据的缓存服务,是网站性能优化的重要 手段。

分布式配置

系统运行需要配a 许多参数,如果这些参数需要修改,比如分布式缓存集群加入新 的缓存服务器,需要修改应用程序客户端的缓存服务器列表配a ,并重启应用程序服务 器。分布式配H 在系统运行期提供配置动态推送服务,将配罝修改实时推送到应用系统, 无需重启服务器。

存储层架构

提供数据、文件的持久化存储访问与管理服务。

分布式文件

网站在线业务需要存储的文件大部分都是图片、网页、视频等比较小的文件,但是 这些文件的数非常庞大,而且通常都在持续增加,需要伸缩性设计比较好的分布式文 件系统。

关系数据库

大部分网站的主要业务是基于关系数据库开发的,但是关系数据库对集群伸缩性的 支持比较差。通过在应用程序的数据访问层增加数据库访问路由功能,根据业务配H 将 数据库访问路由到不同的物理数据库上,可实现关系数据库的分布式访问。

NoSQL数 据 库

目前各种NoSQL数据库层出不穷,在内存管理、数据模型、集群分布式管理等方面各有优势,不过从社区活跃性角度看,HBase无疑是目前最好的。

数据同步

在支持全球范围内数据共享的分布式数据库技术成熟之前,拥有多个数据中心的网 站必须在多个数据中心之间进行数据同步,以保证每个数据中心都拥有完整的数据。在 实践中,为了减轻数据库压力,将数据库的寧务日志(或者NoSQL的写操作Log)同步 到其他数据中心,根据Log进行数据重演,实现数据同步。

后台架构

网站应用中,除了要处理用户的实时访问请求外,还有一些后台非实时数据分析要 处理。

搜索引擎

即使是网站内部的搜索引擎,也需要进行数据增量更新及全部更新、构建索引等。 这些操作通过后台系统定时执行。

数据仓库

根据离线数据,提供数据分析与数据挖掘服务。

推荐系统

社交网站及购物网站通过挖掘人和人之间的关系,人和商品之间的关系,发掘潜在 的人际关系和购物兴趣,为用户提供个性化推荐服务。

数据采集与监控

监控网站访问情况与系统运行情况,为网站运营决策和运维管理提供支持保障。

浏览器数据采集

通过在网站页面中嵌入JS脚本采集用户浏览器环境与操作记录,分析用户行为。

服务器业务数据采集

服务器业务数据包括两种,一种是采集在服务器端记录的用户请求操作日志;一种
是采集应用程序运行期业务数据,比如待处理消息数目等。

服务器性能数据采集

釆集服务器性能数据,如系统负载、内存使用率、网卡流量等。

系统监控

将前述采集的数据以图表的方式展示,以便运营和运维人员监控网站运行状况,做
到这一步仅仅是系统监视。更先进的做法是根据采集的数据进行自动化运维,自动处理系统异常状况,实现自动化控制。

系统报警

如果采集来的数据超过预设的正常情况的阈值,比如系统负载过高,就通过邮件、
短信、语音电话等方式发出报警信号,等待工程师干预。

安全架构

保护网站免遭攻击及敏感信息泄露。

Web攻击

以HTTP请求的方式发起的攻击,危害最大的就是XSS和SQL注入攻击。但是只要
措施得当,这两种攻击都是比较容易防范的。

数据保护

敏感信息加密传输与存储,保护网站和用户资产。

数据中心机房架构

大型网站需要的服务器规模数以十万计,机房物理架构也需要关注。

机房架构

对于一个拥有十万台服务器的大型网站,每台服务器耗电(包括服务器本身耗电及空调耗电)每年大约需要人民币200元,那么网站每年机房电费就需要两亿人民币。数据中心能耗问题已经日趋严重, Google、 Facebook选择数据中心地理位置的时候趋向选择散热良好,供电充裕的地方。

机柜架构

包括机柜大小,网线布局、指示灯规格、不间断电源、电压规格(是48V直流电还
是220V民用交流电)等一系列问题。

服务器架构

大型网站由于服务器采购规模庞大,大都采用定制服务器的方式代替购买服务器整
机。根据网站应用需求,定制硬盘、内存、甚至CPU,同时去除不必要的外设接口(显示器输出接口,鼠标、键盘输入接口),并使空间结构利于散热。

引自《大型网站技术架构》

关注公众号架构思维干货优先看

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342