
后端知识点合集
文章平均质量分 79
QQsilhonette
这个作者很懒,什么都没留下…
展开
-
流量控制知识点
总体说明: Hystrix:关注点在于隔离和熔断为主的容错机制,超时或熔断可以快速失败,并提供fallback机制; Sentinel:多样化的流量控制、熔断降级、系统负载保护、实时监控和控制台。 共同特性 1)资源模型和执行模型上的对比: Hystrix强依赖隔离规则,因为Hystrix在执行时会解析Command的隔离规则来创建RxJava Scheduler并在其上调度执行; Sentinel只需要考虑这个代码是否需要保护,规则配置可以动态调整。 2)隔离设计上的对比: Hystr..原创 2021-03-16 17:47:57 · 212 阅读 · 0 评论 -
分库分表知识点
1、什么要分库分表? 一般一个表的数据最好控制在200万以内,一个库最多支撑并发2000,并发最好保持在1000。 # 分库分表前 分库分表后 并发支撑情况 MySQL 单机部署,扛不住高并发 MySQL从单机到多机,能承受的并发增加了多倍 磁盘使用情况 MySQL 单机磁盘容量几乎撑满 拆分为多个库,数据库服务器磁盘使用率大大降低 SQL 执行性能 单表数据量太大,SQL 越跑越慢 单表数据量减少,SQL 执行效率明显提升 2、不同.原创 2020-09-16 17:24:36 · 247 阅读 · 0 评论 -
分布式锁知识点
1、基于redis的最简单的分布式锁 // 获取锁 // NX是指如果key不存在就成功,key存在返回false,PX可以指定过期时间 SET anyLock unique_value NX PX 30000 // 释放锁:通过执行一段lua脚本 // 释放锁涉及到两条指令,这两条指令不是原子性的 // 需要用到redis的lua脚本支持特性,redis执行lua脚本是原子性的 if redis.call("get",KEYS[1])== ARGV[1] then return red原创 2020-09-09 16:15:06 · 256 阅读 · 0 评论 -
消息队列知识点
1、为什么要用消息队列 好处:解耦、异步、削峰; 缺点:系统可用性降低、系统复杂度高、一致性问题。 2、Kafka、RabbitMQ、RocketMQ 有什么优缺点? 特性 RabbitMQ RocketMQ Kafka 单机吞吐量 万级 10 万级,支撑高吞吐 10 万级,高吞吐,一般配合大数据类的系统来进行实时数据计算、日志采集等场景 topic 数量对吞吐量的影响 topic 可以达到几百/几千的级别,吞吐量会有较小幅度的下降,这是 .原创 2020-09-15 16:40:39 · 181 阅读 · 0 评论 -
分布式事务知识点
1、分布式事务的实现 XA方案 TCC方案(部分严格一致性场景) 本地消息表 可靠消息最终一致性方案(推荐) 最大努力通知方案 2、两阶段提交方案/XA方案 XA方案即两阶段提交,有一个事务管理器的概念,负责协调多个数据库的事务。 第一阶段:事务协调器要求每个设计到事物的数据库预提交此操作,并反映是否可以提交; 第二阶段:事务协调器要求每个数据库提交数据。 比较适合单个应用,由于严重依赖于数据库层面来搞定复杂的事务,效率很低,不适合高并发的场景。 这个方案很少使用,一般微服务内部不.原创 2020-09-09 14:54:27 · 183 阅读 · 0 评论