• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
菩提叶子
博客园    首页    新随笔    联系   管理    订阅  订阅
2023年2月7日
进程,线程区别
摘要: 进程:指在系统中正在运行的一个应用程序;程序一旦运行就是进程;或者更专业化来说:进程是指程序执行时的一个实例,即它是程序已经执行到课中程度的数据结构的汇集。从内核的观点看,进程的目的就是担当分配系统资源(CPU时间、内存等)的基本单位。 线程:系统分配处理器时间资源的基本单元,或者说进程之内独立执行 阅读全文
posted @ 2023-02-07 15:58 菩提叶子 阅读(78) 评论(0) 推荐(0)
缓存雪崩,缓存穿透,缓存击穿
摘要: 缓存雪崩 对于系统 A,假设每天高峰期每秒 5000 个请求,本来缓存在高峰期可以扛住每秒 4000 个请求,但是缓存机器意外发生了全盘宕机。缓存挂了,此时 1 秒 5000 个请求全部落数据库,数据库必然扛不住,它会报一下警,然后就挂了。此时,如果没有采用什么特别的方案来处理这个故障,DBA 很着 阅读全文
posted @ 2023-02-07 15:55 菩提叶子 阅读(42) 评论(0) 推荐(0)
redis持久化
摘要: Redis 持久化的两种方式 RDB:RDB 持久化机制,是对 Redis 中的数据执行周期性的持久化。 AOF:AOF 机制对每条写入命令作为日志,以 append-only 的模式写入一个日志文件中,在 Redis 重启的时候,可以通过回放 AOF 日志中的写入指令来重新构建整个数据集。 通过 阅读全文
posted @ 2023-02-07 15:49 菩提叶子 阅读(43) 评论(0) 推荐(0)
redis主从复制的核心原理
摘要: 当启动一个 slave node 的时候,它会发送一个 PSYNC 命令给 master node。 如果这是 slave node 初次连接到 master node,那么会触发一次 full resynchronization 全量复制。此时 master 会启动一个后台线程,开始生成一份 RD 阅读全文
posted @ 2023-02-07 15:46 菩提叶子 阅读(104) 评论(0) 推荐(0)
redis主从架构
摘要: 单机的 Redis,能够承载的 QPS 大概就在上万到几万不等。对于缓存来说,一般都是用来支撑读高并发的。因此架构做成主从(master-slave)架构,一主多从,主负责写,并且将数据复制到其它的 slave 节点,从节点负责读。所有的读请求全部走从节点。这样也可以很轻松实现水平扩容,支撑读高并发 阅读全文
posted @ 2023-02-07 15:42 菩提叶子 阅读(33) 评论(0) 推荐(0)
如何保证redis的高可用,高并发
摘要: 高可用 考虑如何用 redis 来加多台机器,保证 redis 是高并发的,还有就是如何让 redis 保证自己不是挂掉以后就直接死掉了,即 redis 高可用 高并发 redis 实现高并发主要依靠主从架构,一主多从,单主用来写入数据,单机几万 QPS,多从用来查询数据,多个从实例可以提供每秒 1 阅读全文
posted @ 2023-02-07 15:39 菩提叶子 阅读(64) 评论(0) 推荐(0)
Redis 和 Memcached 区别
摘要: Redis 支持复杂的数据结构 Redis 相比 Memcached 来说,拥有更多的数据结构,能支持更丰富的数据操作。如果需要缓存能够支持更复杂的结构和操作, Redis 会是不错的选择。 Redis 原生支持集群模式 在 Redis3.x 版本中,便能支持 cluster 模式,而 Memcac 阅读全文
posted @ 2023-02-07 15:34 菩提叶子 阅读(30) 评论(0) 推荐(0)
缓存
摘要: 1.为什么使用缓存 主要有两个用途:高性能、高并发。 高性能 假设这么个场景,你有个操作,一个请求过来,吭哧吭哧你各种乱七八糟操作 mysql,半天查出来一个结果,耗时 600ms。但是这个结果可能接下来几个小时都不会变了,或者变了也可以不用立即反馈给用户。那么此时咋办? 缓存啊,折腾 600ms 阅读全文
posted @ 2023-02-07 15:32 菩提叶子 阅读(55) 评论(0) 推荐(0)
消息队列的延时以及过期失效,消息队列消息积压及占满问题解决思路
摘要: 大量消息在 mq 里积压了几个小时了还没解决 几千万条数据在 MQ 里积压了七八个小时,从下午 4 点多,积压到了晚上 11 点多。这个是我们真实遇到过的一个场景,确实是线上故障了,这个时候要不然就是修复 consumer 的问题,让它恢复消费速度,然后傻傻的等待几个小时消费完毕。这个肯定不能在面试 阅读全文
posted @ 2023-02-07 15:29 菩提叶子 阅读(379) 评论(0) 推荐(0)
消息队列数据丢失及可靠性
摘要: 用 MQ 有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是前面说的重复消费和幂等性问题。不能少,就是说这数据别搞丢了。那这个问题你必须得考虑一下。 如果说你这个是用 MQ 来传递非常核心的消息,比如说计费、扣费的一些消息,那必须确保这个 MQ 传递过程中绝对不会把计费消息给弄丢。 数据的 阅读全文
posted @ 2023-02-07 15:26 菩提叶子 阅读(134) 评论(0) 推荐(0)
消息队列重复消费的问题解决方案
摘要: 首先,比如 RabbitMQ、RocketMQ、Kafka,都有可能会出现消息重复消费的问题,正常。因为这问题通常不是 MQ 自己保证的,是由我们开发来保证的。挑一个 Kafka 来举个例子,说说怎么重复消费吧。 Kafka 实际上有个 offset 的概念,就是每个消息写进去,都有一个 offse 阅读全文
posted @ 2023-02-07 15:21 菩提叶子 阅读(542) 评论(0) 推荐(0)
消息队列部署选择
摘要: 部署是单机还是集群呢?你们高可用是怎么保证的呢? 如果有人问到你 MQ 的知识,高可用是必问的。上一讲提到,MQ 会导致系统可用性降低。所以只要你用了 MQ,接下来问的一些要点肯定就是围绕着 MQ 的那些缺点怎么来解决了。 RabbitMQ 的高可用性 RabbitMQ 是比较有代表性的,因为是基于 阅读全文
posted @ 2023-02-07 15:17 菩提叶子 阅读(59) 评论(0) 推荐(0)
各个消息队列功能对比及选择
摘要: Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点? 特性 ActiveMQ RabbitMQ RocketMQ Kafka 单机吞吐量 万级,比 RocketMQ、Kafka 低一个数量级 同 ActiveMQ 10 万级,支撑高吞吐 10 万级,高吞吐,一般配合大数据 阅读全文
posted @ 2023-02-07 15:13 菩提叶子 阅读(119) 评论(0) 推荐(0)
消息队列优缺点
摘要: 优点: 解耦、异步、削峰 缺点: 1.系统可用性降低 系统引入的外部依赖越多,越容易挂掉。本来你就是 A 系统调用 BCD 三个系统的接口就好了,ABCD 四个系统还好好的,没啥问题,你偏加个 MQ 进来,万一 MQ 挂了咋整?MQ 一挂,整套系统崩溃,你不就完了?如何保证消息队列的高可用? 系统复 阅读全文
posted @ 2023-02-07 15:11 菩提叶子 阅读(32) 评论(0) 推荐(0)
mysql读写分离,主从复制,解决主从同步的延时
摘要: 1.如何实现 MySQL 的读写分离? 基于主从复制架构,简单来说,就搞一个主库,挂多个从库,然后我们就单单只是写主库,然后主库会自动把数据给同步到从库上去。 2.MySQL 主从复制原理 主库将变更写入 binlog 日志,然后从库连接到主库之后,从库有一个 IO 线程,将主库的 binlog 日 阅读全文
posted @ 2023-02-07 15:09 菩提叶子 阅读(100) 评论(0) 推荐(0)
mysql数据库分表后id主键处理
摘要: 1.数据库自增长ID 这个就是说你的系统里每次得到一个 id,都是往一个库的一个表里插入一条没什么业务含义的数据,然后获取一个数据库自增的一个 id。拿到这个 id 之后再往对应的分库分表里去写入。 优点:非常简单,有序递增,方便分页和排序。 缺点:分库分表后,同一数据表的自增ID容易重复,无法直接 阅读全文
posted @ 2023-02-07 15:05 菩提叶子 阅读(129) 评论(0) 推荐(0)
mysql脏读幻读不可重复读出现原理及解决方法
摘要: 脏读:脏读又称无效数据的读出,是指在数据库访问中,事务T1将某一值修改,然后事务T2读取该值,此后T1因为某种原因撤销对该值的修改,这就导致了T2所读取到的数据是无效的。 幻读:幻读是指当事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,比如这种修改涉及到表中的“全部数据行 阅读全文
posted @ 2023-02-07 14:48 菩提叶子 阅读(702) 评论(0) 推荐(0)
mysql范式
摘要: 数据库设计的三大范式是一种设计规则,旨在帮助设计出高质量的数据库模型。这些规则旨在确保数据库表中的数据是冗余尽可能少,数据冗余会导致数据的不一致性。 第一范式(1NF)要求每个字段都是原子性的,也就是说,每个字段都只能包含单个值。 第二范式(2NF)要求每个表中的非主键字段都完全依赖于表的主键。 第 阅读全文
posted @ 2023-02-07 14:46 菩提叶子 阅读(47) 评论(0) 推荐(0)
mysql底层B树高度
摘要: 在 MySQL 中使用 B+ 树做索引时,B+ 树的高度通常取决于树中节点的数量以及每个节点的度数。在 MySQL 中,B+ 树的度数通常为 128,但是这个值也可以在创建索引时通过设置选项来更改。 对于 B+ 树来说,一般来说,树的高度越低越好。低高度意味着树中节点的数量越少,也就意味着树的查询和 阅读全文
posted @ 2023-02-07 14:43 菩提叶子 阅读(428) 评论(0) 推荐(0)
mysql数据库进阶
摘要: 一.sql优化着手思路 SQL优化,既然是优化,那么首先得要定位问题才能对症下药,开启慢查询日志监控,找出系统中比较慢的SQL。这就减少了筛查范围,然后逐条进行执行计划分析。没建索引的建索引,建了索引的看看索引是不是失效了,然后排查为什么索引失效?这些问题排查完了之后,可能因为表数据量过大,那就要考 阅读全文
posted @ 2023-02-07 14:41 菩提叶子 阅读(50) 评论(0) 推荐(0)
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3