Load Balancers plays a key role in Web Architecture. They allow distributing load among a set of backends. This makes services more scalable. Also since there are multiple backends configured the service become highly available as load balancer can pick up a working server in case of a failure.
ACID理论:关系型数据库的事务满足 ACID 的特性,具有 ACID 特性的数据库支持数据的强一致性,保证了数据本身不会出现不一致。适用于传统的单体架构。 CAP理论:在分布式系统下, 包含三个要素:Consistency(一致性)、Availability(可用性)、Partition tolerance(分区容错性),并且三者不可兼得。分布式系统要求保证分区容错性,只能在数据强一致性(C)和可用性(A)之间做平衡,即选择CP或者AP。比如Zookeeper为CP系统保证强一致性牺牲一定的可用性;Eureka为AP系统保证较高可用性牺牲一定的一致性。另外,CAP理论中是忽略网络延迟,也就是当事务提交时,从节点A复制到节点B,但是在现实中这个是明显不可能的,所以总会有一定的时间是不一致。所以CAP一般适用于局域网系统的理论基础。 BASE理论:解决 CAP 理论中分布式系统的可用性和一致性不可兼得的问题,提出最终一致性。即,最终数据是一致的就可以了,而不是实时保持强一致。例如,支付成功,订单也成功,但增加积分失败,此时,不应回滚支付和订单,而应通过一些 补偿方法来让积分得以正确地增加。 本地事务 基于数据库的ACID理论 基于undo、redo日志记录 undo日志实现回滚、redo日志实现commit场景异常的恢复