04 2022 档案

摘要:背景:在学习性能优化的知识时,发现一个因为正则表达式引起的性能下降问题,记录下来 藏在正则表达式里的陷阱 转载 藏在正则表达式里的陷阱 通过java自带的线程dump工具 发现出问题的线程 是字符串的校验 ps:也可以通过代码注释的方式,发现出问题的地方就是正则校验 其实这里导致 CPU 使用率高的 阅读全文
posted @ 2022-04-28 09:55 CS408 阅读(1845) 评论(0) 推荐(0) 编辑
摘要:背景:理解下述名词 参考 搞懂异地多活,看这篇就够了 好了,总结一下这篇文章的重点。 1、一个好的软件架构,应该遵循高性能、高可用、易扩展 3 大原则,其中「高可用」在系统规模变得越来越大时,变得尤为重要 2、系统发生故障并不可怕,能以「最快」的速度恢复,才是高可用追求的目标,异地多活是实现高可用的 阅读全文
posted @ 2022-04-19 11:42 CS408 阅读(416) 评论(0) 推荐(0) 编辑
摘要:背景:学习材料《227-Spring Cloud 微服务项目实战》 227-Spring Cloud 微服务项目实战 简介 在上面这幅图中,我们可以看到有几个 Spring Boot Apps 的应用集群,这就是经过拆分 后的微服务。Spring Cloud 和 Spring Boot 达成了一种默 阅读全文
posted @ 2022-04-18 12:21 CS408 阅读(226) 评论(0) 推荐(0) 编辑
摘要:背景:感觉还可以,做个记录 今天这讲我们继续来聊聊锁优化。上一讲我重点介绍了在 JVM 层实现的 Synchronized 同步锁的优化方法,除此之 外,在 JDK1.5 之后,Java 还提供了 Lock 同步锁。那么它 有什么优势呢? 相对于需要 JVM 隐式获取和释放锁的 Synchroniz 阅读全文
posted @ 2022-04-12 12:42 CS408 阅读(234) 评论(0) 推荐(0) 编辑
摘要:背景:感觉讲的不错,可以学习理解 你好,我是刘超。从这讲开始,我们就正式进入到第三模块——多线程性能调优。 在并发编程中,多个线程访问同一个共享资源时,我们必须考虑如何维护数据的原子性。在 JDK1.5 之前,Java 是依靠 Synchronized 关键字实现锁功能来做到这点的。 Synchro 阅读全文
posted @ 2022-04-12 12:29 CS408 阅读(146) 评论(0) 推荐(0) 编辑
摘要:上节课,我提到,在应对并发问题时,除了原子操作,Redis 客户端还可以通过加锁的方 式,来控制并发写操作对共享数据的修改,从而保证数据的正确性。 但是,Redis 属于分布式系统,当有多个客户端需要争抢锁时,我们必须要保证,这把锁 不能是某个客户端本地的锁。否则的话,其它客户端是无法访问这把锁的, 阅读全文
posted @ 2022-04-08 10:26 CS408 阅读(168) 评论(0) 推荐(0) 编辑
摘要:10 | 第1~9讲课后思考题答案及常见问题答疑 第 1 讲 问题:和跟 Redis 相比,SimpleKV 还缺少什么? @曾轼麟、@Kaito 同学给出的答案都非常棒。他们从数据结构到功能扩展,从内存效率到 事务性,从高可用集群再到高可扩展集群,对 SimpleKV 和 Redis 进行了详细 阅读全文
posted @ 2022-04-07 17:32 CS408 阅读(87) 评论(0) 推荐(0) 编辑
摘要:我曾遇到过这么一个需求:要用 Redis 保存 5000 万个键值对,每个键值对大约是 512B, 为了能快速部署并对外提供服务,我们采用云主机来运行 Redis 实例,那么,该如何选择 云主机的内存容量呢? 我粗略地计算了一下,这些键值对所占的内存空间大约是 25GB(5000 万 *512B)。 阅读全文
posted @ 2022-04-07 15:58 CS408 阅读(81) 评论(0) 推荐(0) 编辑
摘要:上节课,我们学习了哨兵机制,它可以实现主从库的自动切换。通过部署多个实例,就形 成了一个哨兵集群。哨兵集群中的多个实例共同判断,可以降低对主库下线的误判率。 但是,我们还是要考虑一个问题:如果有哨兵实例在运行时发生了故障,主从库还能正常 切换吗? 实际上,一旦多个实例组成了哨兵集群,即使有哨兵实例出 阅读全文
posted @ 2022-04-07 15:42 CS408 阅读(76) 评论(0) 推荐(0) 编辑
摘要:上节课,我们学习了主从库集群模式。在这个模式下,如果从库发生故障了,客户端可以 继续向主库或其他从库发送请求,进行相关的操作,但是如果主库发生故障了,那就直接 会影响到从库的同步,因为从库没有相应的主库可以进行数据复制操作了。 而且,如果客户端发送的都是读操作请求,那还可以由从库继续提供服务,这在纯 阅读全文
posted @ 2022-04-07 15:06 CS408 阅读(80) 评论(0) 推荐(0) 编辑
摘要:06 | 数据同步:主从库如何实现数据一致? 前两节课,我们学习了 AOF 和 RDB,如果 Redis 发生了宕机,它们可以分别通过回放日 志和重新读入 RDB 文件的方式恢复数据,从而保证尽量少丢失数据,提升可靠性。 不过,即使用了这两种方法,也依然存在服务不可用的问题。比如说,我们在实际使用时 阅读全文
posted @ 2022-04-07 15:02 CS408 阅读(115) 评论(0) 推荐(0) 编辑
摘要:04 | AOF日志:宕机了,Redis如何避免数据丢失? AOF 日志是如何实现的? 说到日志,我们比较熟悉的是数据库的写前日志(Write Ahead Log, WAL),也就是 说,在实际写数据前,先把修改的数据记到日志文件中,以便故障时进行恢复。不过, AOF 日志正好相反,它是写后日志,“ 阅读全文
posted @ 2022-04-07 09:53 CS408 阅读(217) 评论(0) 推荐(0) 编辑
摘要:背景:通过课程,深入学习redis,而不是片面的了解。 参考极客时间 《146-Redis核心技术与实战》 再推荐一个redis知识点总结的网站,感觉都有覆盖,讲的也很好 http://c.biancheng.net/redis/what-is-redis.html 00|开篇词 | 这样学Redi 阅读全文
posted @ 2022-04-06 18:27 CS408 阅读(85) 评论(0) 推荐(0) 编辑
摘要:背景:真正理解三次握手,四次挥手 转载: TCP 为什么三次握手而不是两次握手(正解版) 结论 为了实现可靠数据传输, TCP 协议的通信双方, 都必须维护一个序列号, 以标识发送出去的数据包中, 哪些是已经被对方收到的。 三次握手的过程即是通信双方相互告知序列号起始值, 并确认对方已经收到了序列号 阅读全文
posted @ 2022-04-04 09:26 CS408 阅读(143) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示