分布式专题学习笔记01——分布式架构

一  什么是分布式

    分布式系统就是多台计算机节点通过网络通信,相互协调,共同完成工作的系统。

  分布式需要解决的两个问题:

    1 任务分配

    2 节点通信

分布式专题学习笔记01——分布式架构

二  分布式与集群的关系

     电商:用户,商品,订单

     分布式:一个业务拆分成多个子系统,部署在不同的服务器上

      集群:同一个业务部署在多台服务器上

三  计算机发展历史

四  大型架构演进过程分析

  什么是大型网站:

   1 访问量高(tps,qps)

    2 数据量大(存储数据量)

电商平台的发展:

用户,商品,订单

容器:tomcat,jsp,servlet

数据库存储:mysql

 初级架构,数据库和应用服务器部署在同一台服务器,足以应付请求

分布式专题学习笔记01——分布式架构

随着访问量的增加,数据的积累,服务器性能降低,此时可以将数据库单独部署到一台服务器

分布式专题学习笔记01——分布式架构

 随着用户的增加,业务量的新增,单台应用服务,不足以支持业务的需求,此时可以将考虑将应用进行集群部署

分布式专题学习笔记01——分布式架构

此时就需要解决两个问题

   1 session共享问题

cookie中保存的是JESSIONID

解决session跨域请求

  1 session sticky 保证每次请求都在同一台服务器

 2 session replication session复制

 3  session 集中存储

4 cookie (主流)

5 access_token(userId/token/timestamp)

  存储在db,存储在缓存服务器(redis)

   2 如何做请求转发

随着应用服务器集群的增多,数据库io逐渐成为整个系统架构的瓶颈,整个系统中,对数据库读操作比较多,写操作比较少,可以选择性能比较好的数据库服务器用的读操作服务器,性能一般的数据库服务器用作写服务器,实现数据库的读写分离

分布式专题学习笔记01——分布式架构

此处需要解决三个问题

  1 数据库的读写分离怎么操作

  2 数据库之间的数据同步

 3 数据路由(那些请求走读数据库,那些请求走写数据库)

为了提高系统搜索的响应时间,引入了搜索引擎

分布式专题学习笔记01——分布式架构

引入搜索引擎以后,需要解决以下问题

 搜索引擎的索引数据怎么去做同步?是实时增量去做同步,还是定时全量做同步。

访问量持续增长时,可以采取以下措施

   1 缓存

   2 限流

  3 降级

分布式专题学习笔记01——分布式架构