分布式 面试题

分布式系统如果保证接口的幂等性?

  1. 数据设置状态值
  2. 数据库设置唯一性
  3. 每个数据请求有唯一性标识

分布式session如何处理?

  1. tomcat+redis,TomcatRedisSessionManager,将所有部署的tomcat都将session存储到redis即可。使用方法不变,是Tomcat封装的类将session存储到了redis,依赖web容器
  2. spring session +redis:spring 将session存储到redis

分库分表

  1. 为什么要分库分表?表数据量达到上千万级别,数据库磁盘消耗高,QPS响应慢,需要通过分库分表来优化
  2. 分库分表中间件?中间件有client类型,proxy类型

 

 什么是垂直分和水平分?

  

  

  

如何平滑的执行分库分表?

  1. 启动多个线程读取原始数据到数据中间件中
  2. 双写迁移方案:
  3.  

  

分库分表之后全局唯一ID如何生成(主键自增ID)?

  1. 生成主键ID的全局数据库A,每次都去数据库A里面得到主键ID,然后再去其他数据库insert 数据。瓶颈:单库,适用于 并发量小,数据大的情况,每秒最高并发最大为几百的合适。
  2. uuid :本地生成,不基于数据库,确定 字段太长,做为主键性能差

猜你喜欢

转载自www.cnblogs.com/fanBlog/p/12308531.html
今日推荐