摘要: 传统用户通过cpu读取磁盘数据过程 由于cpu要参与从磁盘读数据到寄存器,又存入内存。这中间cpu都是阻塞状态不能干别的工作 由此产生DMA技术 DMA技术 从磁盘搬运数据的任务都交给了DMA控制器 而cpu不再负责搬运 用户进程调用 read 方法,向操作系统发出 I/O 请求,请求读取数据到自己 阅读全文
posted @ 2020-09-27 11:50 六小扛把子 阅读(6349) 评论(0) 推荐(3) 编辑
摘要: 什么是网关? 两个独立的局域网之间通信的桥梁/ 或可以理解为外部所有请求都会打在网关上,网关对请求分发路由等处理,隐藏了内部服务的各种API接口 网关作用及功能 1. 动态路由 根据请求路由到对应的服务上去,如果服务不可用还会有重试机制 2. 负载均衡 多服务器提供同一种服务,网关会从注册中心拉取各 阅读全文
posted @ 2020-09-22 16:12 六小扛把子 阅读(2690) 评论(0) 推荐(0) 编辑
摘要: 跳表— 在顺序链表的基础上加索引 类似于给书加目录,把一些章节摘出来当目录 形式结构:最底层为全部链表 , 每上一层就将其中一部分当作索引 1. 每个节点保存上一个节点指针,下一个节点指针,上指针(他的索引地址),下指针(他作为索引指向的原节点地址) 2. 头节点尾节点都给无穷(Integer.ma 阅读全文
posted @ 2020-09-21 17:38 六小扛把子 阅读(985) 评论(0) 推荐(0) 编辑
摘要: index-merge 导致线上死锁问题 问题造成条件: 两个事务分别执行两次update操作 每个用到了两个及以上索引 由于两边索引顺序不一致导致 造成原因: InnoDB使用索引来实现行级别的锁, 事务A 通过index1 对某个字段加了锁 事务B 通过index2 对另一个字段加了锁 两个事务 阅读全文
posted @ 2020-09-21 15:49 六小扛把子 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 如果是简单的两个服务调用,可以将调用接口尽量写在最后, 如果被调用方接口正常,能保证调用方的其他处理都正常才会执行调用接口 当被调用方接口出现异常,调用方可以通过事务回滚; 方案一;2pc 两阶段提交 <数据库层面> 需要一个事务协调者 第一阶段 询问阶段,事务协调者挨个询问能否成功执行 第二阶段 阅读全文
posted @ 2020-09-17 11:13 六小扛把子 阅读(127) 评论(0) 推荐(0) 编辑
摘要: SpringCloud核心组件 Eureka:注册服务中心 Feign: 任务调度,执行http请求 Ribbon: 负载均衡 根据本地注册表选择合适机器,让Feign调用 Zuul / SpringCloud Gatway : 网关 网关内部配置好接口地址,外部用户只需访问网关,对系统内部具体接口 阅读全文
posted @ 2020-09-16 12:01 六小扛把子 阅读(1268) 评论(0) 推荐(0) 编辑
摘要: 分布式锁:用为了解决分布式服务场景下,多个服务并发操作数据导致并发安全问题 Redis分布式锁实现原理 setnx实现方式: set一个key为 订单id等锁唯一标识,value为一串随机数uuid等,如果key存在则失败返回0,成功返回1,设置超时时间后自动删除(防止死锁) 尝试去获取锁就是尝试去 阅读全文
posted @ 2020-09-15 18:04 六小扛把子 阅读(442) 评论(0) 推荐(0) 编辑
摘要: Zookeeper 使用场景: 1. 分布式协调 (用作服务注册中心) 2. 分布式锁 3. 元数据和配置管理 4. Zookeeper HA高可用场景,(通过Zookeeper实现主从自动切换) Zookeeper服务注册中心集群原理 Zookeeper分为leader follower两种角色, 阅读全文
posted @ 2020-09-15 17:26 六小扛把子 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 0.前言 JVM自带了一堆可排查JVM运行状况的工具。But,每个工具的使用姿势、使用后果均不同。作为开发人员,需要清楚每个工具的执行结果,不然会出现随手执行一个命令、引发严重线上故障的场景。 这里简要说明几个使用命令 jmap jmap -dump 例如, jmap -dump:format=b, 阅读全文
posted @ 2020-09-14 11:22 六小扛把子 阅读(1496) 评论(0) 推荐(1) 编辑
摘要: 集合: java.util包下的集合类 都是 fail-fast 快速失败的 如果多线程并发使用都是造成 并发修改异常 java.util.concurrent 包下都是 fail-safe 支持并发的 ArrayList 初始大小10 扩容每次1/2 ArrayList 默认初始化是0 第一次ad 阅读全文
posted @ 2020-09-13 14:56 六小扛把子 阅读(511) 评论(1) 推荐(1) 编辑