1.ES采用的是乐观锁机制(带相关的版本号)

2.springcloud中的零碎知识_缓存

 

3.ES批量导入:_bulk批量导入时,一个的错误不会导致后面的错误,不会像mysql一样,回滚

4.term和match的区别:文本的匹配用match;单个词的匹配,如数值,用term.

5.warning:6.0以后type类型要被抛弃了。

6.在ES中存数据:从数据库中查出,然后封装成bean,发送给ES。ES的查询性能更好。

7.正向代理是面向客户端的(隐藏客户端信息),反向代理是面向服务器的(屏蔽内网服务器信息,负载均衡访问)。

8.如果直接让nginx直接代理服务的话,不用网关产生的问题:

  1.第一个问题,服务的数量是随时可以复制添加的,是动态变化的,nginx要动态修改这的配置;如果是让网关来,网关可以动态地从注册中心中搜取服务(服务直接注册进去就行)。

9.nginx代理给网关的时候,会丢失请求的host信息。

  可以在location / {

    proxy_set_header Host $host;

    proxy_pass http://gulimall;

  }

10.路由匹配原则:粗粒度的放在后面,精粒度的放在前面

11.springcloud中的零碎知识_数据_02

 

 12.

业务的优化:

  1.db数据库优化:加索引,多次查的话,可以先把这个的结果查出来,后面子函数重复利用

  2.模板的渲染速度,开缓存

13.什么数据适合放入缓存:

  1.及时性、数据一致性要求不高的

  2.访问量大且更新频率不高的数据(读多,写少)。

14.缓存穿透指的是:查询一个不存在的数据,由于缓存一直不命中,大量请求过来,对数据库大量的查询操作,数据库瞬时压力增大,最终导致崩溃。

  解决;null结果缓存,并加入短暂过期时间。

  加锁:双重检验,得到锁以后,再次判断redis中是否有数据了。

 

springcloud中的零碎知识_redis_03

15.害怕分布式锁一直被一个进程占用(宕机),设置锁的自动过期时间,即使应用没有及时删除,也会自动删除。

16.setnx(站好位置了)设置好后,正要去设置过期时间,宕机。又死锁了。

  解决:设置过期时间和占位必须是原子的。redis支持使用setnx ex命令

17.springcloud中的零碎知识_数据_04

 

18.springcloud中的零碎知识_redis_05

19.redisson中有看门狗机制,默认锁的过期时间是30s。为了方式业务还在执行过程,锁过期了的问题,我自己的理解(在java后端执行了监听器,每隔internalLockLeaseTime/3后向redis发送延长时间的命令)。

20.redisson中自己设定了过期时间,不会自动续期

21.springcloud中的零碎知识_缓存_06

 

22.springcloud中的零碎知识_缓存_07

 

23.

双写模式:在数据库中改了数据,并且改写缓存中的数据

失效模式:在数据库中改了数据,并且删掉缓存中的数据

24.springcloud中的零碎知识_redis_08

 

25.ES的扁平化,不加嵌入式的话(nested),会被扁平化处理

26.线程的话,需要创建线程池,不然业务请求一多,创建的线程数一多,资源容易耗尽,宕机。

27.springcloud中的零碎知识_缓存_09

 

28.springcloud中的零碎知识_数据库_10

 

29.springcloud中的零碎知识_数据_11

 

 30.springcloud中的零碎知识_缓存_12

 

 31.springcloud中的零碎知识_nginx_13

 

 32.消息队列rabbitMQ,可以应用解耦,流量控制

33.springcloud中的零碎知识_缓存_14

 

34.feign远程调用丢失请求头问题

  设置requestInterceptor配置

35.threadlocal是线程独占的

36.feign异步情况丢失上下文问题springcloud中的零碎知识_nginx_15

 

37.springcloud中的零碎知识_redis_16

 

 springcloud中的零碎知识_nginx_17

 

 38.本地事务的话springcloud中的零碎知识_redis_18

 

 

springcloud中的零碎知识_redis_19

  解决:利用延时队列

39.springcloud中的零碎知识_数据_20

 

40.主从呢:

主要跟从保持心跳连接,因为从一直在自旋,要初始化从的自旋(变为候选者)。(自旋成功,说明没有主节点了,自己升为候选人,重新选举主节点)。

上面这个是raft算法解决cp问题的方案

41.BASE理论可以适当地采取弱一致性,即最终一致性。

42.分布式事务Seata不适合高并发