常见理论知识(ACID,CAP,BASE,MVC等)
参考网址:
https://www.toutiao.com/i6717432946736759299/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1×tamp=1609992632&app=news_article&utm_source=weixin&utm_medium=toutiao_android&use_new_style=1&req_id=202101071210320101300361491A03D22D&share_token=a380bc36-3dfe-46bc-9cec-3572a7f79329&group_id=6717432946736759299
java后端几个重要理论
-
ACID
-
CAP
-
BASE
-
MVC
(待补充)
ACID
事务的几个特性(ACID)
-
原子性(Atomicity)
事务的整个过程如原子操作一样,最终要么全部成功,或者全部失败,这个原子性是从最终结果来看
的,从最终结果来看这个过程是不可分割的。 -
一致性(Consistency)
一个事务必须使数据库从一个一致性状态变换到另一个一致性状态。
首先回顾一下一致性的定义。所谓一致性,指的是数据处于一种有意义的状态,这种状态是语义上的而
不是语法上的。最常见的例子是转帐。例如从帐户A转一笔钱到帐户B上,如果帐户A上的钱减少了,而
帐户B上的钱却没有增加,那么我们认为此时数据处于不一致的状态。
从这段话的理解来看,所谓一致性,即,从实际的业务逻辑上来说,最终结果是对的、是跟程序员的所
期望的结果完全符合的 -
隔离性(Isolation)
一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离
的,并发执行的各个事务之间不能互相干扰。 -
持久性(Durability)
一个事务一旦提交,他对数据库中数据的改变就应该是永久性的。当事务提交之后,数据会持久化到硬
盘,修改是永久性的。
CAP
CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容忍性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。
- 一致性:在分布式系统中的所有数据备份,在同一时刻是否同样的值。
- 可用性:在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。
- 分区容忍性:以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。
BASE理论
BASE理论是对CAP中的一致性和可用性进行一个权衡的结果,理论的核心思想就是:我们无法做到强一致,但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性。
- Basically Available(基本可用)
- Soft state(软状态)
- Eventually consistent(最终一致性)
MVC
MVC设计模式是一种通用的软件编程思想
在MVC设计模式中认为, 任何软件都可以分为三部分组成:
(1)控制程序流转的控制器(Controller)
(2)封装数据处理数据的模型(Model)
(3)负责展示数据的视图(view)
并且在MVC设计思想中要求一个符合MVC设计思想的软件应该保证上面这三部分相互独立,互不干扰,每一个部分只负责自己擅长的部分。
如果某一个模块发生变化,应该尽量做到不影响其他两个模块。这样做的好处是,软件的结构会变得更加的清晰,可读性强。有利于后期的扩展和维护,并且代码可以实现复用。
mvc基础架构图
springmvc执行流程
个人博客
个人csdn博客网址:https://blog.csdn.net/shaoming314
个人博客网址:www.shaoming.club
rc=“https://gitee.com/shao_ming314/picture/raw/master/image/halo.jpg” alt=“halo” style=“zoom:50%;” />