程序员基础知识大全 (程序员问题讲解)

一、软件开发中的原则 - SOLID

程序员基础知识大全,程序猿教程视频

  1. 在软件开发中,前人对软件系统的设计和开发总结了一些原则和模式, 不管用什么语言做开发,都将对我们系统设计和开发提供指导意义。本文主要将总结这些常见的原则,和具体阐述意义。

二、分布式理论 - CAP

程序员基础知识大全,程序猿教程视频

  1. CAP理论是分布式系统、特别是分布式存储领域中被讨论的最多的理论。其中C代表一致性 (Consistency),A代表可用性 (Availability),P代表分区容错性 (Partition tolerance)。CAP理论告诉我们C、A、P三者不能同时满足,最多只能满足其中两个。

三、分布式理论 - BASE

  1. BASE是“Basically Available, Soft state, Eventually consistent(基本可用、软状态、最终一致性)”的首字母缩写。其中的软状态和最终一致性这两种技巧擅于对付存在分区的场合,并因此提高了可用性。

四、事务理论 - ACID

程序员基础知识大全,程序猿教程视频

  1. 一个事务有四个基本特性,也就是我们常说的(ACID): Atomicity(原子性) :事务是一个不可分割的整体,事务内所有操作要么全做成功,要么全失败。 Consistency(一致性) :务执行前后,数据从一个状态到另一个状态必须是一致的(A向B转账,不能出现A扣了钱,B却没收到)。 Isolation(隔离性) : 多个并发事务之间相互隔离,不能互相干扰。 Durability(持久性) :事务完成后,对数据库的更改是永久保存的,不能回滚。

五、微服务基础 - 康威定律

  1. 微服务这个概念很早就提出了, 真正火起来是在2016年左右,而康威定律(Conway's Law)就是微服务理论基础。本文整理自肥侠的文章, 帮助大家理解微服务理论体系。