知识点总结

一、项目介绍

1.流程的发起

  1. 校验机构代码是新增还是存量
  2. 获取activity的流程号
  3. 将发起流程插入流程信息表
  4. 如果是存量机构,同步数据
  5. 通过流程号获取正在运行的任务号,将任务推至下一个节点

二、配置中心-配置管理

        1.字段配置信息管理 -表中字段名、控件类型

         2.表配置信息管理- 表名、表的类型

三、业务参数的查询,报表、线路的查询

四、业务场景管理-业务场景的定制

  • 处理表顺序
  • 已有表修改表顺序
  • 新表赋予新的属性
  • 对表修改进行校验

      业务场景配置添加子系统

五、合同,履约到期提醒,发邮件。

  1. 根据时间查询到期合同
  2. 启动合同到期提醒代办流程
  3. 获取用户信息,发邮件

知识点

1.线程池

一个线程池包括四个基本部分

  1. 线程池管理器:用于创建线程和管理线程
  2. 工作线程: 线程池中的线程,在没有任务时处于等待状态
  3. 任务接口: 每个任务必须实现的接口,已供工作线程调度,任务执行
  4. 任务队列:用于存放没有处理的任务

2.ThreadPoolExecutor包括的参数:核心线程池的大小、最大线程池的大小、线程最大空闲时间、线程等待队列、拒绝策略

3.dubbo基础

  • 暴露服务的服务提供方
  • 调用远程服务的服务消费方
  • 服务注册与注册中心
  • 统计服务的调用次数和调用监控中心
  • 服务运行器
  1. 启动时注册提供方服务
  2. 消费者订阅服务的列表,变更时推送服务地址列表
  3. 消费者随机调用服务地址,失败后重新选择
  4. 后台定时采集服务的调用次数和时间

4.dubbo的配置方式

  spring的配置方式与api的配置方式

5.dubbo默认的通信框架 netty

6.dubbo 的负载均衡策略 

  随机、 轮询、最少活跃调用次数、一致性hash

7.乐观锁与悲观锁

乐观锁:总认为不会产生并发问题,每次去取数据的时候总认为不会被线程进行修改。因此不会上锁,但是在更新时会判断其他线程之前有没有对数据进行修改。一般采用版本号机制或cas操作

乐观锁多用于多读的应用类型。

悲观锁:每次取数据的时认为其他线程会修改,所以都会加锁,当其他线程想要访问数据时,都需要阻塞挂起,依靠数据库实现。

8.redis主从复制

  • 主节点负责写,从节点负责读
  • Redis持久化的两种方式 RDB和AOF

  rdb对数据执行周期持久化 。AOF每条命令写入日志

  redis 支持的数据类型

  String,list、set、hash 、Zset

9.持久化是把内存数据写到磁盘中,防止服务器宕机内存数据消失

10.存储结构:内容是Redis通讯协议RESP格式的命令文本存储

11.redis哨兵模式

监控:哨兵会不断的检查主服务器和从服务器是否运行正常

提醒:当被监控的某个Redis服务器出现问题时,哨兵可以通过api向管理员发送通知

自动故障迁移:当一个主服务器不能正常工作时,哨兵会开始一次自动故障迁移操作。

12.redis分布式锁的实现方式

先拿setnx来抢占锁,抢到之后,再用expire给锁加一个过期时间,防止锁忘记释放

13.使用sub/pub主题订阅模式。实现1:N的消息队列

14.什么是缓存穿透?如何避免

一般的缓存系统都是按照key去缓存查询。如果不存在对应的value,就去后台查询。一些恶意的请求故意查询不存在的key,请求过大时,就会对系统造成很大的压力。

避免:

1.对查询结果为空的情况也要缓存,将缓存时间设置短一点,或者该KEY对应的数据insert后清理缓存

2.对一定不存在的key进行过滤,可以把所有可能存在的key放到一个大的biemap中,查询是过滤

15.缓存雪崩

当缓存服务器重启或者大量缓存集中在某个时间段失效。这样在失效的时候会给后台带来很大的压力

避免

1.在缓存失效后,通过加锁或者队列来控制读数据库写缓存的线程数量

2.做二级缓存,a为原始缓存。b 为备份缓存。a失效后访问b

3.不同的key设置不同的过期时间

16.应用场景

  • 会话缓存
  • 消息队列
  • 发布,订阅消息
  • 商品列表、评论列表

17.fushdb 删除当前选择的数据库中的key

     fushall 删除所有数据库中的键

人这辈子没法做太多事情,所以每做一件事都要做到精彩绝伦。 因为,这就是我的宿命。人生苦短,你明白吗? 所以这是我为人生做出的选择
原文地址:https://www.cnblogs.com/junjun1578/p/11937342.html