从后端面经学到的 3 个知识

1.关于高可用,容错的方案

这个我是从邓明老师讲解的,在第三方服务有问题时,中转的后端业务怎么去处理学到的。

三个分别是,当有可以替换的第三方业务时,如果第三方服务不可用就替换后端调用的第三方服务,第二个是如果错误,需要重试就在后端去做重试,而不是要求客户端重试 这个对客户端是透明的,第三个就是如果要做限流可以在客户端去做限流,不打到后端。

我之前看到一个面经,问如何设计一个支持多个模型的 Agent 系统,考虑的几个点,其中一个就是要使用适配器模式用相同的调用方式去适配不同的模型 API 的调用,这里适配器模式就是刚才说的那种微服务的切换第三方的思路差不多。

2.分库分表相关的问题

分库分表相关的知识包括什么场景下要使用分库分表,什么情况下可以使用分区表或者使用读写分离,如果是写瓶颈需要分库分表。

分库分表下要考虑分布式情况下主键的唯一性,可以使用的算法包括雪花算法,雪花算法可以自己调整段长。

分库分表要考虑跨页查询怎么解决,包括禁止跨页查询,使用全局的查询找 m+n 个,使用局部近似和二次查询。

分库分表要考虑扩容,扩容的容量要考虑预想好三到五年的量。

3.数据库相关知识

首先是和事务相关的内容,数据库的锁,innodb 的锁是通过在索引上加锁实现的,如果没有走索引就会出现变成表锁。

MVCC 是多版本并发控制,是和 undolog 结合起来使用的,MVCC 解决的是读写锁降低读写性能的问题 使用 MVCC,是根据 ReadView 判断是否可见 然后获取 undolog 中的数据。

Redolog 是持久化使用,因为我们的数据在 bufferpool 可能没有刷盘,Redolog 也可能不刷盘,但是因为是顺序写日志,代价更小性能更高。

相关推荐
17岁的勇气10 分钟前
Unity Shader unity文档学习笔记(二十二):shader变体
笔记·学习·unity
坤坤子吖42 分钟前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
路灯上の马陈3 小时前
Java 内部类 学习笔记
笔记·学习
希和20273 小时前
51 单片机入门笔记:江科大课程代码逐行讲解(按键控制 LED 流水灯)
笔记·单片机·mongodb
前进的李工3 小时前
Agent 学习笔记 12:Agent 的工具应该怎么设计
人工智能·笔记·学习·agent·工具调用·skill·工具设计
ever_you_love3 小时前
2026.11.9录屏笔记
笔记
li星野3 小时前
从 DICOM 到声学属性学习记录:HU 值怎么变成密度和声速
学习
希和20273 小时前
51 单片机按键控制 LED:江科大课程代码小白笔记
笔记·单片机·嵌入式硬件
希和20273 小时前
51 单片机 LED 流水灯:从直接法到循环法(江科大课程笔记)
笔记·单片机·mongodb