分布式

2021-11-01  本文已影响0人  小丸子的呆地

CAP原理

CAP主要描述,在网络正常时我的分布式服务同时满足这三个特性,在发生网络分区的时候需要从A和C中选择一个保证

BASE理论

分布式、集群、SOA、微服务

集群和分布式没有并非是互斥的概念,一个分布式项目可以是一个集群比如zookeeper

一致性模型

强一致性、最终一致性、因果一致性、单调一致性、事务一致性

一致性策略

负载均衡策略

高并发限流策略

漏桶算法关注的是请求被以一定速率转发,容易引起资源业务服务资源利用不充分;令牌算法关注的是单位时间内的最大请求数,一定程度上容忍短时间的高并发,但如果配置不当容易造成服务器阻塞甚至宕机。

分布式事物

AT模式 拦截用户sql,解析之后找到对应修改行,进行快照;如果回滚,就使用快照数据,如果提交,就删除快照即可

分布式设计的目的

缓存寻址策略

分布式锁

分布式锁设计需要解决问题:原子,可见,可重入,防止死锁,锁续期,阻塞

redisson看门狗定时器,10s续期一次
redlock 按顺序向集群每个节点请求一个锁,根据一定超时时间判断是否跳过,超过一半的节点加锁成功就返回

什么是RPC

远程过程调用,能让程序员像调用本地方法一样调用其他服务的方法。在调用过程需要服务路由、负载均衡、熔断降级、序列化反序列化、通讯等功能。

RPC执行原理

接口层 写业务逻辑
代理层 接口的代理实现
路由层 需要获取服务的具体地址
负载均衡 根据规则在多个地址之间选择合适的
熔断降级 如果发生异常要进行对应的熔断降级策略
协议层 选择对应的协议Http、tcp、dubbo
链接层 建立链接进行通讯
序列化与反序列化 将数据进行序列化

消息队列的作用

异步、解耦、削峰、冗余、扩展、可用、可靠

缓存雪崩、缓存穿透、缓存击穿

缓存雪崩 某些场景下缓存大面积失效、或还未加载;流量大量请求到数据库;缓存预热,缓存过期时间不固定
缓存穿透 数据库没有的数据,不会缓存,被请求的时候流量还是会请求到数据库;对空缓存,布隆过滤器(对时空时不空的数据不太友好)
缓存击穿 热key缓存失效或者被删除,导致大量流量请求到数据库;热key发现,永不过期,单独存储,缓存降级

上一篇下一篇

猜你喜欢

热点阅读