美文网首页大规模分布式系统架构
大型网站技术架构——成熟架构的特点

大型网站技术架构——成熟架构的特点

作者: 什么也不懂888 | 来源:发表于2018-02-21 23:00 被阅读0次

    由于最近经常用简书,于是开始把之前在其他平台写的文章搬到这里。并总结形成专辑,希望对大家有用。

    成熟的大型网站架构往往具有如下特点:

    1. 分层:将网站根据逻辑特点横向切分分成几层,最常见的是表示层、逻辑层、数据层。上层依赖调用下层。

    2. 分割:将不同的功能和服务进行分割,高内聚低耦合。例如将购物、论坛、搜索、广告分割成不同的应用,部署在不同的服务器上。

    3. 分布式:将不同的模块部署在 不同的服务器上,通过远程调用协同工作。分为应用的分布式部署和数据的分布式部署。这种架构由于依赖网络,因此也存在性能问题,另外由于数据有多个副本,因此存在数据一致性问题,而且模块众多,调用复杂,维护困难。

    4. 集群:多台服务器部署相同的应用构成集群,通过负载均衡设备对外提供服务,提高了系统的并发性和可用性。

    5. 缓存:缓存是改善软件性能的第一手段。它可以加快数据访问速度,减轻应用和数据存储的负载压力。其本质是将数据放在距离计算最近的位置。缓存可以放置在CDN、反向代理、本地和分布式远程节点上。使用缓存的前提是 1. 数据访问热点不均衡;2. 数据不会很快过期。

    6. 异步:在单机系统中,异步表现为单机的多线程共享内存限制。在分布式系统中,异步表现为分布式消息队列。异步的主要作用是:1. 提高系统的可用性;2. 加快网站访问速度;3. 削峰。

    7. 冗余:系统通过使用多个数据库或多个服务器,以便在故障时通过快速切换确保系统的可用性。对于服务而言,可以使用多个服务程序构成集群;对于数据库而言,数据库使用主从分离和热备份。

    8. 自动化:1. 自动化代码管理;2. 代码版本控制;3. 代码分支创建合并;4. 自动化测试;5. 自动化监控;6. 自动化资源分配。

    相关文章

      网友评论

        本文标题:大型网站技术架构——成熟架构的特点

        本文链接:https://www.haomeiwen.com/subject/fexatftx.html