摘要: 数据库写入请求量过大,导致系统出现性能与可用性问题 常见的方式就是对数据库做“分库分表”,在实现上有三种策略:垂直拆分、水平拆分、垂直水平拆分 分库分表的整体设计方案和技术实现的落地思路。一般会涉及这样几个问题: 什么场景该分库?什么场景该分表? 复杂的业务如何选择分片策略? 如何解决分片后的数据查 阅读全文
posted @ 2023-03-14 15:39 jiaozg 阅读(46) 评论(0) 推荐(0)
摘要: MySQL 主从复制的原理 MySQL 的主从复制依赖于 binlog ,也就是记录 MySQL 上的所有变化并以二进制形式保存在磁盘上。复制的过程就是将 binlog 中的数据从主库传输到从库上。这个过程一般是异步的 写入 Binlog:主库写 binlog 日志,提交事务,并更新本地存储数据。 阅读全文
posted @ 2023-03-14 15:03 jiaozg 阅读(36) 评论(0) 推荐(0)
摘要: MySQL 的事务隔离级别(Isolation Level) 数据库锁,分为悲观锁和乐观锁,“悲观锁” 悲观锁一般利用 SELECT … FOR UPDATE 类似的语句 乐观锁利用 CAS 机制,并不会对数据加锁,而是通过对比数据的时间戳或者版本号,实现版本判断。 脏读: 读到了未提交事务的数据。 阅读全文
posted @ 2023-03-14 14:43 jiaozg 阅读(64) 评论(0) 推荐(0)
摘要: 下面这条 SQL,你怎么通过索引来提高查询效率呢? select * from order where status = 1 order by create_time asc 更优的方式是建立一个 status 和 create_time 组合索引,这是为了避免 MySQL 数据库发生文件排序。因为 阅读全文
posted @ 2023-03-14 14:14 jiaozg 阅读(57) 评论(0) 推荐(0)
摘要: 抢购系统大概可以分为四个阶段 商品预约:用户进入商品详情页面,获取购买资格,并等待商品抢购倒计时。 等待抢购:等待商品抢购倒计时,直到商品开放抢购。 商品抢购:商品抢购倒计时结束,用户提交抢购订单,排队等待抢购结果,抢购成功后,扣减系统库存,生成抢购订单。 订单支付:等待用户支付成功后,系统更新订单 阅读全文
posted @ 2023-03-14 13:51 jiaozg 阅读(163) 评论(0) 推荐(0)
摘要: 在使用 MQ 的时候,怎么确保消息 100% 不丢失? 引入 MQ 消息中间件最直接的目的是:做系统解耦合流量控制,追其根源还是为了解决互联网系统的高可用和高性能问题。 系统解耦:用 MQ 消息队列,可以隔离系统上下游环境变化带来的不稳定因素,比如京豆服务的系统需求无论如何变化,交易服务不用做任何改 阅读全文
posted @ 2023-03-14 10:38 jiaozg 阅读(68) 评论(0) 推荐(0)
摘要: 对于整条 RPC 调用链路(从 App 到网关再到各个服务系统),怎么设置 RPC 的超时时间,要考虑哪些问题?” 结合 TP99 请求耗时:首先如果你要回答“超时时间设置和重传次数问题”,需要根据每一个微服务 TP99 的请求耗时,以及业务场景进行综合衡量。 RPC 调用方式:你要站在业务场景下, 阅读全文
posted @ 2023-03-14 10:10 jiaozg 阅读(99) 评论(0) 推荐(0)
摘要: 基于关系型数据库实现分布式锁 select id from order where order_id = xxx for update 基于 MySQL 行锁的方式会出现交叉死锁 数据库的事务隔离级别 读未提交(READ UNCOMMITTED); 读已提交(READ COMMITTED); 可重复 阅读全文
posted @ 2023-03-13 17:26 jiaozg 阅读(32) 评论(0) 推荐(0)
摘要: 主流实现分布式系统事务一致性的方案(也就是基于 MQ 的可靠消息投递的机制) 提出 2PC 或 TCC (这是一种交流方案)。因为 2PC 或 TCC 在工业界落地代价很大,不适合互联网场景,所以只有少部分的强一致性业务场景(如金融支付领域)会基于这两种方案实现。 基于两阶段提交的解决方案 过程分为 阅读全文
posted @ 2023-03-13 17:09 jiaozg 阅读(39) 评论(0) 推荐(0)
摘要: 如何设计一个支持海量商品存储的高扩展性架构? 在互联网业务场景下,为了解决单台存储设备的局限性,会把数据分布到多台存储节点上,以此实现数据的水平扩展。既然要把数据分布到多个节点,就会存在数据分片的问题。 数据分片即按照一定的规则将数据路由到相应的存储节点中,从而降低单存储节点带来的读写压力。常见的实 阅读全文
posted @ 2023-03-13 16:29 jiaozg 阅读(126) 评论(0) 推荐(0)