大型网站架构演进过程

这篇具有很好参考价值的文章主要介绍了大型网站架构演进过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大型网站架构演进过程

架构演进

大型网站的技术挑战主要来自于庞大的用户,高并发的访问和海量的数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变得很棘手。大型网站架构主要就是解决这类问题。

架构选型是根据当前业务需要来的,在满足业务需求的前提下,既要有足够的扩展性也不能过度设计,每次的架构升级都是为了解决系统瓶颈而做的。

初始阶段的网站架构

初始阶段都比较简单,通常一台服务器就可以搞定一个网站了,看图。

大型网站架构演进过程

应用服务和数据服务分离

随着网站业务的发展,一台服务器逐渐不能满足需求;这时候就需要将应用和数据分离,如图。

大型网站架构演进过程

使用缓存改善网站性能

毫无疑问,现在的网站基本上都会使用缓存,即:80%的业务访问都会集中在20%的数据上。

大型网站架构演进过程

使用应用服务器集群改善网站的并发处理能力

因为单一应用服务器能够处理的请求连接有限,在网站访问高峰时期,应用服务器会成为整个网站的瓶颈。因此使用负载均衡处理器势在必然。通过负载均衡调度服务器,可将来自浏览器的访问请求分发到应用的集群中的任何一台服务器上。

大型网站架构演进过程

数据库读写分离

当用户达到一定规模后,数据库因为负载压力过高而成为网站的瓶颈。而目前主流的数据库都提供主从热备功能,通过配置两台数据库主从关系,可以将一台数据库的数据更新同步到另一台服务器上。网站利用数据库这一功能实现数据库读写分离,从而改善数据库负载压力。

大型网站架构演进过程

使用反向代理和CDN加上网站相应

提高网站的访问速度,主要手段有使用CDN和反向代理。

CDN和反向代理的基本原理都是缓存,区别在于CDN部署在网络提供商的机房,而反向代理是部署在网站的中心机房,当用户请求到达中心机房后,首先访问的反向代理,如果反向代理缓存着用户请求的资源,则直接返回给用户。

大型网站架构演进过程

使用分布式文件系统和分布式数据库系统

任何强大的单一服务器都满足不了大型网站持续增长的业务需求。

分布式数据库时网站数据库拆分的最后手段,只用在单表数据规模非常大的时候才使用。不到不得已时,网站更常用的数据库拆分手段是业务拆分,将不同业务的数据部署在不同的物理服务器上。

大型网站架构演进过程

使用NoSQL和搜索引擎

搜索引擎也基本已经形成现在大型网站必须提供的功能了,网站需要采用一些非关系数据库技术如NoSQL和非数据库查询技术如搜索引擎。

大型网站架构演进过程

业务拆分

大型网站为了应对日益复杂的业务场景,通过使用分而治之的手段将真个网站业务拆分成不同的产品线。

具体到技术上,也会根据产品线话费,将一个网站拆分成许多不同的应用,每个应用独立部署维护。应用之间可以通过超链接建立管理,也可以通过消息队列进行数据分发,当然最多的还是通过访问同一个数据存储系统来构成一个关联的完整系统。

大型网站架构演进过程

分布式服务

由于每一个应用系统都需要执行许多相同的业务操作,比如用户管理,session管理,那么可以将这些公用的业务提取出来,独立部署。

大型网站架构演进过程

 

作者|顶尖架构师栈文章来源地址https://www.toymoban.com/news/detail-710484.html

到了这里,关于大型网站架构演进过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解剖“全球最大男性交友网站”,GitHub十五年数据库架构演进

    数据库编程大赛:一条SQL计算扑克牌24点 近期,GitHub全面升级到了MySQL 8.0。ITPUB特别邀请了NineData创始人、资深技术专家叶正盛老师,为大家解析GitHub历年数据库架构的发展历程,以及大型网站何时进行分库分表的改造。 Hello,各位朋友!今天,我们一起来回顾GitHub,这个被程

    2024年02月03日
    浏览(28)
  • 软件架构演进过程与微服务设计中的领域驱动设计(DDD)

    软件架构的演进是一个不断改进和解决问题的过程。从传统架构到面向服务架构(SOA),再到微服务架构,每个阶段都带来了新的技术和解决方案。而在微服务架构中,领域驱动设计(DDD)起着至关重要的作用,它能够提高系统的可扩展性、可维护性和可理解性。本文将介绍软件架

    2024年02月16日
    浏览(32)
  • 毕业设计——基于SSM架构实现的大型分布式购物网站-B2C项目

    毕业设计——基于[SSM架构]实现的大型分布式购物网站-B2C项目 大型[分布式]购物网站-B2C项目 完整项目地址:https://download.csdn.net/download/lijunhcn/88430551 电商行业模式 B2B:企业到企业、商家到商家。例如阿里巴巴。 B2C:商家到客户。例如京东、淘宝商城 C2C:客户到客户。闲鱼。

    2024年02月04日
    浏览(57)
  • 从AI人工智能LLM大型语言模型到通用人工智能AGI “世界模型”的演进路径

    近年来,人工智能技术取得了飞速的发展,各种领域都出现了涉及人工智能的应用。大型语言模型(Large Language Model, LLM)作为其中一种重要的技术手段,已成为当前自然

    2024年02月08日
    浏览(63)
  • 技术架构的演进-八大架构

    目录: 常见概念 评价指标 单机架构 应用数据分离架构 应用服务集群架构 读写分离 / 主从分离架构 引入缓存 —— 冷热分离架构 垂直分库 业务拆分 —— 微服务 容器化引入——容器编排架构 总结 1.常见概念: 应用(Application) / 系统(System) :为了完成一整套服务的一个

    2024年02月15日
    浏览(32)
  • 架构演进及常用架构

          部署 CDN 节点: 用户访问量的增加意味着用户地域的分散请求,如果所有请求都直接发送中心服务器的话,距离越远,响应速度越差,这时就需要用到 CDN 技术,通过 CDN 加速,保证用户访问每次都从最近的服务器获取数据.  分布式数据库: 分布式数据库是网站数据库

    2024年02月12日
    浏览(26)
  • 【架构师】零基础到精通——架构演进

    博客昵称:架构师Cool 最喜欢的座右铭:一以贯之的努力,不得懈怠的人生。 作者简介:一名Coder,软件设计师/鸿蒙高级工程师认证,在备战高级架构师/系统分析师,欢迎关注小弟! 博主小留言:哈喽!各位CSDN的uu们,我是你的小弟Cool,希望我的文章可以给您带来一定的帮

    2024年02月02日
    浏览(78)
  • 《凤凰架构》第一章——服务架构演进史

    前言 刚开始决定弄懂文中所提到的所有东西,就像我写ByteByteGo呢几篇文章一样,把每一句话都弄懂。但是对于《凤凰架构》来说,这有点太费时间了,并且没有必要,有些东西可能永远都不会用到,但文章为了全面的介绍一个内容,会提到那些东西。所以我还是针对一些自

    2024年02月14日
    浏览(29)
  • 【架构】互联网应用开发架构演进历程

    首先我们了解下计算机软件的发展历史,大概总结概括,分为c/s时代,web1.0时代和web2.0时代。 c/s时代:富客户端方案。卖软件可赚钱。​例如 qq、影音、游戏。 1.0时代:主要是单向信息的发布,即信息门户—广大浏览器客户端​ ,互联网内容是由少数编辑人员(或站长)定制的

    2023年04月26日
    浏览(54)
  • 合约广告平台架构演进实践

    作者 | 王悦凯 导读 从事B端业务系统研发多年,不免会有这样的思考:B端系统的技术挑战是什么?什么样的业务架构算好架构?本文结合百度合约广告业务的发展历程,介绍广告投放平台从单体架构到微服务架构演进过程中碰到的问题和思考。希望通过本文的介绍,让大家更

    2024年02月02日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包