分布式复习——架构概述

特点:高并发,海量数据

什么是分布式?

分布式就是一个业务拆分成几个子系统,部署在不同的服务器上,这些子系统组合在一起形成一个完整的系统。

电商平台:用户,商品 ,订单,交易

什么是集群?

同一个业务,部署在多个服务器上

如同一用户系统部署两套: 用户1 ,用户2 

集群保证高可用,分布式保证高性能。


两个问题需要解决

1: 任务分解

2:节点通信 :rpc框架+消息中间件


什么是大型网站?

1 访问量 (tps,qps)

2 数据量(存储数据量)


电商平台的发展

第一版应用


分布式复习——架构概述

第二版 单击负载越来越高,数据库服务器和应用服务器分离

分布式复习——架构概述


第三版  应用服务器做集群

分布式复习——架构概述


1 .session       cookie 存储的是JSESSIONID  

session存储在服务器端  cookie存储在浏览器端

服务器端(Tomcat) 会生成一个唯一的sessionId号存储在cookie中 叫 jessionid

在服务器端(tomcat)中存储serssion 使用concurrentMap (ConcurrentMap   key JSESSIONID  values session)

浏览器端下次请求服务器端是将jsessionId带过来 找到对应的session 获取session中存储的信息(用户信息)


解决session跨域共享问题

1.  session sticky  :会话保存在单机上  保证会话请求落在同一台服务器上

2. session replication:session 复制  每一台服务器上都保持一份相同的session (造成额外的网络开销)

3. session 集中存储  :存储在db、 存储在缓存服务器 (redis)

4. cookie (主流)

access_token(userid/token/timestamp(过期时间)   加密)  

将access_token存储在客户端的cookie中 每次 客户端过来访问 服务器端拦截其中 获取cookie中的access_token 根据 userid和timestamp(过期时间) 判断是否有效

soa架构和微服务架构区别

 soa 有消息总线  微服务架构不需要依赖任何消息总线


3. 如何做请求转发

 

第四版  数据库的高性能操作

分布式复习——架构概述

1. 数据库读写分离怎么操作  二八原则?

2. 数据库的数据同步

3. 数据库路由 mycat


电商平台最多的操作: 搜索商品


分布式复习——架构概述


问题:

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

 


第六版 解决访问量持续增高,引入缓存机制

用户量是没有上限的   缓存 限流 降级

分布式复习——架构概述



8️版本 数据库的水平/垂直拆分

数据库可以按不同的业务维度去拆分


分布式复习——架构概述



9版本

分布式复习——架构概述