获得徽章 1
#青训营笔记创作活动#
1月29日 打卡day50
Hertz 是一个超大规模的企业级微服务 HTTP 框架,具有高易用性、易扩展、低时延等特点。Hertz 默认使用自研的高性能网络库 Netpoll,在一些特殊场景中,相较于 go net,Hertz 在 QPS、时延上均具有一定优势。在内部实践中,某些典型服务,如框架占比较高的服务、网关等服务,迁移 Hertz 后相比 Gin 框架,资源使用显著减少,CPU 使用率随流量大小降低 30%—60% 。反向代理在计算机网络中是代理服务器的一种。服务器根据客户端的请求,从其关系的一组或多组后端服务器(如 Web 服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的 IP 地址,而不知道在代理服务器后面的服务器集群的存在。
展开
评论
#青训营笔记创作活动#
1月28日 打卡day49
意向锁则是InnoDB中为了支持多粒度的锁乐观锁更加适用于读大于写的业务场景,频繁写库的业务则并不适合加乐观锁。
评论
#青训营笔记创作活动#
1月27日 打卡day48
为全局请求添加 TraceId ,看日志再也不懵逼如果想快速的定位到问题,就要实现对日志的快速搜索ELK 是 ES、Logstash、Kibana 的总称,其核心功能就是实现数据的收集、搜索、可视化。
展开
评论
#青训营笔记创作活动#
1月25日 打卡day47
如何防止重放攻击?原理其实很简单,就是让合法的请求,只能被执行一次,保证每次请求的唯一性时间戳+随机数
评论
#青训营笔记创作活动#
1月24日 打卡day46
死锁检测算法 - wait-for graph当MySQL发现了这种等待闭环时,就会强制介入,回滚结束其中一个事务,强制打破该闭环,从而解除死锁问题。会选择Undo量最小的事务回滚wait-for graph算法被启用后,会要求MySQL收集两个信息:锁的信息链表:目前持有每个锁的事务是谁。事务等待链表:阻塞的事务要等待的锁是谁。在业务允许的情况下,尽量缩短一个事务持有锁的时间、减小锁的粒度以及锁的数量。一般的锁机制都是基于持有标识+等待队列实现的,而MySQL则是略微有些不一样。写操作加排他锁,读操作不加锁!RU级别解决脏写问题RU级别 一个事务中,不允许读另一个事务还未提交的数据写操作加排他锁,读操作加共享锁《MVCC机制》,在每次select查询数据时,都会生成一个ReadView快照,然后依据这个快照去选择一个可读的数据版本。对于RC级别的底层实现,对于写操作会加排他锁,而读操作会使用MVCC机制。RC级别中 查询时,对目标数据加上临键锁,即读操作执行时,不允许其他事务改动数据。一个事务中只生成一次ReadView快照。写操作加排他锁,对读操作依旧采用MVCC机制,但RR级别中,一个事务中只有首次select会生成ReadView快照。Serializable级别 所有写操作加临键锁(具备互斥特性),所有读操作加共享锁。因此在Serializable级别中,只有读-读场景可以并发执行。RU级别:读操作不加锁,写操作加排他锁。RC级别:读操作使用MVCC机制,每次SELECT生成快照,写操作加排他锁。RR级别:读操作使用MVCC机制,首次SELECT生成快照,写操作加临键锁。序列化级别:读操作加共享锁,写操作加临键锁。
展开
评论
下一页
个人成就
文章被阅读 1,292
掘力值 196
收藏集
0
关注标签
0
加入于