4.大型网站核心架构要素

  • 性能

性能是一个网站的重要指标。因为性能问题几乎无所不在,所以优化性能的手段也非常多,从浏览器到数据库影响用户请求的所有环节都可以进行性能优化

  1. 浏览器端
  • 浏览器缓存
  • 页面压缩
  • 合理布局
  • 减少cookie传输
  • 使用CDN,将网站静态内容分发至离用户最近的网络服务商机房,使用户通过最短访问路径获取数据。
  • 使用反向代理,反向代理服务器可以在网站机房部署反向代理服务器,缓存热点文件,加快访问速度,减少服务器压力。
  1. 应用服务器端
  • 缓存:本地或者分布式缓存,加快请求处理过程,减轻数据库压力。
  • 异步:将用户请求发送到消息队列等待后续处理,而当前请求直接返回给用户。
  1. 代码层面,可以通过多线程、改善内存管理等手段优化性能
  2. 数据库端,可以通过索引、缓存、sql优化等优化性能
  3. jvm 根据业务特点优化垃圾收集器,减少gc停顿时间
  4. 网络编程使用nio(netty)提升性能
    ..............
  • 可用性

网站高可用性的主要手段就是冗余,应用部署在多台服务器上同时提供访问,数据服务器在多台上相互备份,任何一台服务器宕机都不会影响使用,也不会导致数据丢失。

  1. 对于应用服务器来说,多台应用服务器通过一个负载均衡设备组成一个集群同时对外提供服务,任何一台服务器宕机,只需要把请求切换到其他服务器就能实现高可用,前提是宕机服务器不会保存会话信息,否则服务宕机,会话丢失,就算切到其他服务器也不能完成请求。所以应用服务器必须得是无状态的
  2. 对于存储服务器而言,服务器上存储着数据,需要对数据进行实时备份,当服务宕机时需要把请求转移到可用的数据服务器上。
  • 伸缩性

所谓伸缩性,是指通过不断向集群中增加服务器,来缓解不断上升的用户访问压力和不断增长的数据存储和查询需求

  1. 对于应用服务器集群,只要服务器上不保存数据,所有服务都是对等的,那么可以通过使用合适的负载均衡策略就可以源源不断的往集群离增加服务器。
  2. 对于缓存服务器,加入新的服务器可能会导致缓存路由失效,进而缓存中大部分数据都无法访问。虽然缓存数据可以通过数据库重新加载,但是如果数据库压力太大,可能会导致整个应用崩溃,所以需要改进缓存路由算法来保证缓存数据的有效性。
  3. 关系型数据库虽然支持数据复制,主从热备等机制,但是很难做到可伸缩。因此数据库的可伸缩方案要在数据库外实现,通过路由分区等手段部署多个数据库的服务器组成一个集群
  4. 至于大部分NoSQL数据库产品,由于其天生就是为海量数据而生,因此其对可伸缩性的支持会非常好,只需要少量运维就能支持。
  • 扩展性

衡量网站架构扩展性好坏的主要标准就是在网站增加新功能的时候,对现有功能透明无影响,不需要任何改动或者很少改动既有业务功能就可以上线新产品。不同产品之间低耦合。
网站架构的可扩展的主要手段是事件驱动架构分布式服务

  • 事件驱动架构通常利用消息队列实现,通过这种方式将消息生产和消息处理解耦。
  • 分布式服务则是将业务和可复用服务分离开来,通过分布式服务框架调用。新增产品通过调用可复用的服务实现自身业务逻辑,而对现有产品没有影响。可复用服务升级的时候,通过提供多版本服务对应用透明化,不需要强制应用同步变更。

大型网站为了保持市场地位,还会吸引第三方开发者,调用网站服务,使用网站数据开发周边产品,扩展网站业务。第三方开发者使用网站服务的主要途径是大型网站提供的开放平台接口。

  • 安全性

互联网是开放的,任何人在任何地方都可以访问网站。网站的架构就是保护网站不受恶意攻击和访问,保护网站重要数据不被窃取。
衡量网站安全架构的标准就是针对现存和潜在的各种攻击与窃取手段,是否有成熟的应对方案

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