首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
高并发设计笔记
感谢金克丝的火箭
创建于2021-10-09
订阅专栏
高并发设计笔记
等 3 人订阅
共31篇文章
创建于2021-10-09
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
17如何保证消息仅仅被消费一次(消息丢失+消息重复消费)
1.基本概念 使用消息队列 对峰值流量削峰填谷 对次要业务逻辑业务处理 对不同模块做解耦合 消息队列引入的新问题: 消息丢失 消息重复 2.消息为什么会丢失 如果要保证消息只被消费一次,首先就要保证消
13缓存如何高可用
1.概览 缓存命中率 = 命中缓存的请求数 / 总请求数(99%以上) 同时部署多个节点,让节点互为备份 客户端方案 客户端配置多个缓存节点,通过缓存写入和读取算法策略实现分布式 中间代理层方案 在应
11数据库成为瓶颈后,动态数据的查询要如何加速
1.什么是缓存 缓存:一种存储数据的组件,让数据请求更快的返回(缓存可以放在内存中,但是缓存!=内存) 目的:协调两者数据传输差异的结构 内存读写速度远大于磁盘读写速度 1.1缓存的案例 MMU内存管
10数据库与NoSQL互补
1.传统数据库改造 提升读性能=增加可读从库(可能会有主从延迟) 提升写能力=横向拆分(业务拆分)+垂直拆分(分库分表) 2.NoSQL基本概念 传统数据库在扩展性上很弱 NoSQL具有扩展性强,优秀
09ID全局唯一
1.基本概念 分布式存储:数据冗余和数据分片 数据冗余:一组多从,应对高并发的数据查询(分摊读压力) 数据分片:降低单个节点的存储压力 分库分表带来的问题: 查询必须带分区键 聚合查询效率低 主键全局
08分库分表
1.基本概念 读写分离:依靠数据复制备份到从库,增加了抵抗大量并发读请求的能力,同时冗余备份保证了数据不丢失。 随着数据量的增加,诞生的问题: 单表数据量超过千万,导致查询性能低 单机数据量增大 数据
07主从分离
1.为什么要主从读写分离 使用数据库连接池架构图: 大部分系统的访问模型都是读多写少,读写请求的差距可能会达到几个数量级 解决思路:将读写请求分离,可以扩展读请求的从库 2.主从读写分离技术关键点 主
05如何让系统易于扩展
1.为什么提升扩展性很复杂 高可扩展性是一个设计的指标:可以通过增加机器的方式来线性提高系统的处理能力,从而承担更高的流量和并发 平时会预留冗余以应对分值流量 无状态的服务和组件更易于扩展,而像**
04系统怎么做到高可用
1.可用性度量 什么是高可用性:系统具备较高的无故障运行能力 系统出现故障比系统性能低更损伤用户的使用体验。 MTBF:平均故障间隔,时间越长,系统稳定性越高 MTTR:故障平均恢复时间,值越小,故障
03如何提升系统性能
1.高并发系统设计三大目标 高并发 高可用 可扩展 概念 通过设计手段让系统处理更多用户请求,承载更大流量,是一切架构设计的背景和前提 设计考虑因素 性能+可用性性能:反映用户的使用体验可用性:系统可
02为什么要架构分层
1.什么是分层架构 将系统纵向的拆分为几层,每个层次有独立的功能,多个层次协同提供完整的功能 常见的分层模型 名称 实现细节 图片 MVC Model View Controller web+serv
01高并发设计思路
1.高并发设计思路 设计思路 scale-out(横向扩展,分而治之):分布式部署的方式,将流量分开,让每个服务器承担一部分并发和流量 缓存:服务器能够处理的流量是有限的,通过缓存能快速返回结果,在相