导图社区 复习
运维,这里指互联网运维,通常属于技术部门,与研发、测试、系统管理同为互联网产品技术支撑的4大部门,这个划分在国内和国外以及大小公司间都会多少有一些不同。 一个互联网产品的生成一般经历的过程是:项目立项、需求分析、研发部门开发、测试部门测试、运维部门部署发布以及长期的运行维护。 运维,本质上是对网络、服务器、服务的生命周期各个阶段的运营与维护,在成本、稳定性、效率上达成一致可接受的状态。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
复习方向
运维、组件
docker
docker engine
docker network
docker 编排
docker 资源分配机制
docker监控
rocketmq
部署架构
生产者
nameserver
broker
消费者
集群部署
主主
主从(异步复制)
主从(同步写入)
消息零丢失
同步刷盘
broker分发消息的方式
commitlog
顺序写入,随机读取
默认1G大小
以开头偏移量命名
consumerQueue
indexFile
顺序消费
全局顺序消费
局部顺序消费
rocketmq的消息事务(大事务=小事务+消息)
redis
redis集群
主从
主从复制,临时添加新节点,通过rdb文件复制
哨兵
分布式cluster集群
hashslot
redis的数据结构
redis的分布式锁
redission(lua方式)
setnx方式
redis的线程模型
redis的io多路复用
redis持久化(fork)
rdb
aof
aof重写
redis淘汰机制
LRU
LFU
random
带过期时间的
全部key
不淘汰,新增报错
redis删除策略
懒删除,查询判断是否过期,过期就删除
定时删除-每个key都有定时任务
定时删除-挑选部分key,或者分片
skywalking
skywalking集群部署
skywalking架构
es
es集群部署·
master节点
minimum_master_nodes
data节点
ingest节点
es的倒排索引
es的深分页
scroll
search_after
from+size(浅分页)
es的索引结构
index
type
mapping
document
field
es分布式查询
es的缓存性质
es选举
es选举算法
没有选举周期,可能重复投票
同最新version,选举id最小的
zookeeper
raft算法
选举周期
最新version就有资格选举
mysql
分表分库
分布式主键id
uuid
雪花id
垂直切分
水平切分
分表查询
借助分布式id
借助第三方工具es
b+tree
为什么不用红黑树
磁盘io与预读
为什么需要回表
聚簇索引
顺序指针(比b树强)
引擎
innodb
事务
事务隔离级别
读未提交
读已提交
脏读
读已提交事务
可重复读
不可重复读
多版本控制,读取快照
行锁,无修改
串行化
幻读
间隙锁
表锁
事务特性(ACID)
数据是保存在b+tree结构上
必须存在主键
innodb在索引保存的指向聚簇索引位置,聚簇索引保存具体数据
myisam
全文索引
索引不保存数据,直接指向文件(所以没有回表)
锁
行级锁
表级锁
库级锁
页合并与页分裂
prometheus
prometheus集群搭建
prometheus的监控接入
cpu
memory
disk
api接口(服务是否可用)
服务端口(服务是否有挂)
域名监控
流量监控
慢sql监控
mysql性能监控
redis性能监控
prometheus的可视化工具Grafana
nginx
nginx集群
keepalive
vip
架构
master
listen
bind
fork worker
worker
epoll
kettle
kettle集群部署
主节点分发任务、集合任务结果
子节点进行任务转换,扩充集群性能
脚本清洗
数据源级联
ACK(k8s)初识
网络
TCP
三次握手
SYN=1,seq=x
SYN=1,ACK=1,seq=y,ack=x+1
ACK=1,seq=x+1,ack=y+1
四次挥手
FIN=1,seq=u
ACK=1,seq=v,ack=u+1
FIN=1,ACK=1,seq=w,ack=u+1
ACK=1,seq=u+1,ack=w+1
SYN攻击
timeout时间降低
HTTPS
CA证书
UDP
rabbitMq
rabbitMq集群部署
rabbitMq0丢失(ACK)
JVM
运行时数据区(JVM结构)
程序计数器
栈(线程大小)
堆
方法区
元空间
永久代
本地方法区
垃圾回收机制
垃圾回收算法
标记清除
标记整理
复制
垃圾回收器
G1
CMS(老年代收集器)
并行收集器
串行收集器
年轻代到年老代
年龄代达到年老代
大文件直接进年老代
Survivor相同年龄超过半数,大于该年龄的直接进入年老代
gc
minorGc
majorGc
fullGc
system.gc()
建议fullGc不是肯定fullGc
老年代空间不足
minorGc前预估年轻代到年老代的空间不足,升级为fullGc
方法区空间不足
大文件或者内存担保的进入老年代的时候
高并发
线程
状态
新建
就绪
运行
阻塞
死亡
生成方法
Thread
Runnable
Callable
线程池
sleep
定时睡眠,不释放cpu资源
wait
通过notify唤醒,释放cpu资源
synchronized(C语言实现)
非公平
关键词
一个同步队列,一个等待队列
同时唤醒
JUC(AQS,CAS)
可公平可不公平
公平锁通过判断同步队列实现
一个同步队列,多个等待队列
可针对唤醒
阻塞队列
queue(单链表)
blockingQueue
ArrayBlockingQueue
LinkBlockingQueue
SynchronsQueue
DelayQueue
deque(双链表)
blockingDeque
LinkBlockingDeque
Tool
Atomic(自旋CAS)
CountDownLatch(减法)
CyclicBarrier(加法)
Semaphore(信号量PV)
SpringCloud全家桶
eureka
HA之AP架构(相互注册,网络不同,不影响使用)
keepAlive保持存活(奇数,方便判断)
gateway
限流
令牌桶算法
统一鉴权
ribbon
负载均衡算法
随机算法
轮询算法
最小连接算法(可对不同配置,特殊处理)
Hystrix
服务降级
服务熔断
fallback
Rpc(feign)
oath2
sentinel(服务治理)
分布式事务
强一致性事务
seata
最终一致性事务
mq重复消费
QPS
TPS
PV
考试模块qps提升,通过热点数据的方式,以及在TPS上也做了处理,在考试流程的梳理上也做了整改,从直接的事务处理,改成写入缓存,再进行异步处理后台数据的方式
https://blog.csdn.net/ths512/article/details/111594186
SaaS项目
多租户数据隔离
分数据库
分schema
逻辑区分
权限
角色权限
数据权限
数据添加标签,再弄成角色权限
多root节点
二级节点当root节点
算法
分治
中位数
快排
贪心
背包问题
动态规划
深度优先
广度优先
二分