如何通过 HTTP 为移动设备流式传输视频?HTTP 实时流媒体 (HLS)
· 阅读需 1 分钟
SOLID 是一组设计原则的首字母缩写,帮助软件工程师在项目中编写稳健的代码。
S - 单一职责原则。一个模块应该只对一个角色负责,一个模块只是一个功能和数据结构的内聚集合。
O - 开放/封闭原则。软件工件应该对扩展开放,但对修改封闭。
L - 里氏替换原则。通过接口和实现、泛型、子类化和鸭子类型来简化代码的继承。
I - 接口隔离原则。将单一的庞大接口分割成更小的接口,以解耦模块。
D - 依赖倒置原则。源代码的依赖关系与控制流相反。我们架构图中最明显的组织原则。
结构化编程 vs. 面向对象编程 vs. 函数式编程
结构化编程是一种对直接控制转移的约束。
面向对象编程是一种对间接控制转移的约束。
函数式编程:不可变性。是一种对变量赋值的约束。
大数据集 ⟶ 扩展 ⟶ 数据分片/分区 ⟶ 1) 数据访问路由 2) 可用性副本 ⟶ 一致性挑战

任何网络共享数据系统只能拥有三种理想属性中的两种。
12年后,作者埃里克·布鲁尔(Eric Brewer)表示“2 of 3”是误导性的,因为
因此,当没有分区(节点正确连接)时,这种情况经常发生,我们应该同时拥有AC。当出现分区时,处理它们的步骤如下:
一般来说,负载均衡器分为三类:

B 树的优点
B+ 树的优点