获得徽章 0
#青训营 x 字节后端训练营# day05
看了一篇非常全面的http知识,很多都会,要花点耐心才能从头到尾看完。学到很多知识
评论
#青训营 x 字节后端训练营# day04
数据库本地事务ACID
CAP,BASE
分布式事务
2PC, XA Transactions两阶段提交协议
TCC
本地消息表
MQ事务
Saga事务
展开
评论
#青训营 x 字节后端训练营# day3
今天学了go的性能优化,使用pprof太牛了
评论
#青训营 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打卡
这篇文章讲述如何阅读和理解英文技术文献,据说英文基础不好的同学也适用。这对我们排查问题、排查错误的时候多有很大的帮助。
评论
#青训营笔记创作活动#
12月29日 打卡day08
(在发烧最严重的几天,终于看完这篇庞大的kafka了[流泪])
这篇文章讲述了kafka的原理和存储结构,是一种消息中间件,由主题和分片组成。每个分片又有多个副本存在不同的broker上,可以称之为日志log文件夹,来提高容灾能力,在最后还讲述了应用情况。
展开
评论
#青训营笔记创作活动#
12月26日 day07打卡
(阳了好痛苦,喉咙痛~)
这篇文章介绍了一个全双工的web socket协议,使得服务器端能主动发出消息,让客户端和服务器端能频繁通信,因为HTTP 1.1协议是半双工的。其中讲述了web socket的原理,它是由HTTP协议升级而来的。适用于游戏、即时通讯等场景。
展开
评论
#青训营笔记创作活动#
12月25日 day06打卡
(这两天阳了没打卡,今天开始恢复打卡。)
这篇文章讲了DHCP协议的原理和工作的步骤,让我理解了局域网的IP地址的获取与生成,也了解到其中使用广播和UDP的方式。DHCP协议是有四个阶段的,再次连接只需要第三和第四阶段。
展开
评论
#青训营笔记创作活动#
12月23日 day05打卡
阅读笔记:之前用MySQL创建索引和查表总是没有一套合理的思路。这篇文章讲解了一些索引的使用方法,从原理的角度分析了几种常见索引失效的例子。可以帮助我们更好的提高查表的性能。
评论
#青训营笔记创作活动#
12月22日 day4打卡
学习笔记:这篇文章讲了go语言和微服务的基本的核心概念,让我了解到了客户端开发和服务端开发的区别,分别是页面驱动设计和数据驱动设计。而DDD是指领域驱动开发,是为微服务的特性,对应了单一职责的这一个特点。特别的该文章在开头还帮助我梳理了实现需求的流程,特别好。
展开
评论
#青训营笔记创作活动#
12月21日 day03打卡
这是一篇很有意思的文章,解释了建立表的时候需不需要分库分表。核心的概念不是在于数据量的临界值,而是要看实际情况,利用MySQL的存储原理计算实际所需要的存储空间,得出的一个结论,这个也是面试官想听的内容。
展开
评论
#青训营笔记创作活动#
12月18日 day2打卡
学习内容:今天看了后端的第2篇文章,讲了很多idea的插件,不过我平时用goland的,也很多相似之处,能参考过来使用,有帮助的!
评论
#青训营笔记创作活动#
2022年12月17日 day01
今天开始打卡阅读后端技术文章,今天的内容是:限流。常见的有5种方法:计数器,滑动窗口,漏桶,令牌桶,redis+lua分布式
评论
下一页