获得徽章 0
- #青训营 x 字节后端训练营# day05
看了一篇非常全面的http知识,很多都会,要花点耐心才能从头到尾看完。学到很多知识评论点赞 - #青训营 x 字节后端训练营# day04
数据库本地事务ACID
CAP,BASE
分布式事务
2PC, XA Transactions两阶段提交协议
TCC
本地消息表
MQ事务
Saga事务展开评论点赞 - #青训营 x 字节后端训练营# day02
确保缓存和数据库的一致性
Cache-Aside
先更新数据库中的数据,然后删除旧的缓存
是删除旧缓存而不是更新旧缓存
延迟双删:先执行缓存清除操作,再执行数据库更新操作,延迟 N 秒之后再执行一次缓存清除操作
确保原子性:消息队列,删除失败会重试
Read-Through/Write through
相当于多出来了一个中间层 Cache Middleware,由它去读取缓存或者数据库,应用层的代码得到了简化
Write Behind
先写入缓存,一段时间后(或通过其他触发器)再将数据写入 Database
对于频繁写入的场景,这个其实非常适用展开评论点赞 - #青训营 x 字节后端训练营# 打卡day01
策略模式:利用多态性,去除if-else和switch。处理同一类问题如果有多种算法,就可以使用策略模式。如根据不同活动计算优惠价格、根据商品不同类型计算税率等。如果我们使用if-else来写,会不优雅,因为商品类型比较多,而且计算逻辑也相对复杂,所以我们可以利用查表法进行优化。
观察者模式:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。如果不使用观察者模式,可以用if-else解决这个问题。但各个状态的处理逻辑比较复杂,而且状态有可能存在乱序的情况,导致要处理的case更多了。这时候用观察者模式就很合适,订单状态变更为Subject,具体处理逻辑为Observer,状态变更时,通知所有处理逻辑,谁合适处理便由谁处理。观察者模式,它是将观察者和被观察者代码解耦。展开评论点赞 - #青训营笔记创作活动#
1月5日 day13打卡
这篇文章讲了关系型数据库MySQL的总体架构内容。包括他的层次和数据结构啊,每一层所涉及的功能和原理,底层实现的组成部分,给到我一个整体的认识。评论点赞 - #青训营笔记创作活动#
1月4日 day12打卡
这篇文章讲了怎么抓包。重点分析了HTTP和HTTPS这两种通讯协议的握手数据包,通过获取3个关键随机数来解密HTTPS的数据,尤其对第3个随机数解密。评论点赞 - #青训营笔记创作活动#
1月2日 打卡day11
这篇文章分享了很多个编码的最佳实践,偏向于Java场景的,有了这些规范,能有利于团队代码的交流和阅读,避免各自为政。评论点赞 - #青训营笔记创作活动#
1月1日 day10打卡
新年快乐
TCP实现了很多算法来保证可靠的信息传输,所以一般来说TCP会比UDP慢,但是UDP要用得好也必须加上重传机制,却又没有分段,此时丢包也会导致:UDP比TCP更慢展开评论点赞 - #青训营笔记创作活动#
12月30日 day09打卡
这篇文章讲述如何阅读和理解英文技术文献,据说英文基础不好的同学也适用。这对我们排查问题、排查错误的时候多有很大的帮助。评论点赞