zoukankan      html  css  js  c++  java
  • 网站架构的演变过程

    1.网站架构的演变过程之一
       1.一个虚拟主机和一个数据库就搭建了一个最基本的网站。
    2.网站架构的演变过程之二增加缓存
      1.减少Http请求,压缩cssjs,图片的大小。
      2.增加页面缓存和增加数据缓存处理。
      3.自购服务器进行IDC托管。
    3.网站架构的演变过程之三增加web服务器
       1.增加一台WebServer,但是增加一台WebServer的时候意味着要在两台的服务器上分别建立相同的站点
       2.出现如下问题:
             1.如何让访问分配到这两台机器上?Nginx

             2.如何保持状态信息的同步,例如用户session等?

             3.如何保持数据缓存信息的同步?

             4. 如何让上传文件这些类似的功能继续正常?

    4.网站架构的演变过程之四分库,分表,分布式缓存

      1.数据库写入、更新的这些操作的部分数据库连接的 资源竞争非常激烈,导致了系统变慢

      2.分库、分表、Memcache分布式缓存

    5.架构演变过程之五Web园或增加更多WebServer

      1.用硬件负载解决F5或应用从逻辑上做一定的分类,然后分散到不同的软负载集群中

      2.用硬件负载解决F5或应用从逻辑上做一定的分类,然后分散到不同的软负载集群中

    6.架构演变之六读写分离和廉价存储方案

        1.一段时间之后发现系统又开始变慢了,经过查找,发现数据库写入、更新的这些操作的部分数据库连接的 资源竞争非常激烈,导致了系统变慢,这下怎么办呢,读写分离。

        2.使用NoSQL = Not Only SQL 指的是非关系型的数据库

    7.架构演变之七进入大型分布式应用时代和廉价服务器群梦想时代

        1、拆成分布式后需要提供一个高性能、稳定的通信框架,并且需要支持多种不同的通信和远程调用方式;

        2、将一个庞大的应用拆分需要耗费很长的时间,需要进行业务的整理和系统依赖关系的控制等;     3、如何运维(依赖管理、运行状况管理、错误追踪、调优、监控和报警等)好这个庞大的分布式应用。

    注:文章内容来自张杨波

  • 相关阅读:
    Python os模块的使用
    数据分析 关于基础组件与介绍
    [SRH.Docker] HBase Java 第一天学习记录
    eclipse创建android项目失败的问题 [ android support library ]
    mysql学习总结
    celery的定时运用
    django认证
    django离线插入测试数据
    关于使用git仓库的操作
    小程序笔记
  • 原文地址:https://www.cnblogs.com/liuyu7177/p/3015433.html
Copyright © 2011-2022 走看看