wordpress图片网站营销型网站开发方案
wordpress图片网站,营销型网站开发方案,奉贤网页设计,网站的手机站页面重复强一致性、弱一致性、最终一致性强一致性#xff1a;任何多个后续进程或者线程的访问都会返回最新的更新过的值用户上一次写什么下一次就保证能读到什么弱一致性#xff1a;系统不保证后续进程或线程的访问都会返回最新更新过的值#xff0c;用户读到操作对数据的更新需要时…强一致性、弱一致性、最终一致性强一致性任何多个后续进程或者线程的访问都会返回最新的更新过的值用户上一次写什么下一次就保证能读到什么弱一致性系统不保证后续进程或线程的访问都会返回最新更新过的值用户读到操作对数据的更新需要时间这段时间称作“不一致性窗口”不承诺能读到最新的值也不承诺多久后能读到在没有故障发生的前提下不一致窗口的时间主要受通信延迟系统负载和复制副本的个数影响。最终一致性弱一致性的一种特例系统保证在没有后续更新的前提下系统最终返回上一次更新操作的值。DNS 是一个典型的最终一致性系统。从事务到分布式事务事务是保证单数据库的数据一致性分布式事务是保证多数据库的数据一致性。事务在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务具有4个属性原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。原子性atomicity一个事务是一个不可分割的工作单位事务中包括的操作要么都做要么都不做。一致性consistency事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。隔离性isolation一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的并发执行的各个事务之间不能互相干扰。持久性durability持久性也称永久性permanence指一个事务一旦提交它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。分布式事务定义分布式事务是指会涉及到操作多个数据库的事务,在分布式系统中各个节点之间在物理上相互独立通过网络进行沟通和协调。常见的分布式事务大概分为七种1、2pc两段式提交2、3pc三段式提交3、TCCTry、Confirm、Cancel4、最大努力通知5、XA6、本地消息表ebay研发出的7、半消息/最终一致性RocketMQ2PC两阶段提交的思想与原理在分布式系统中各个服务部署在不同机器上使用独立的数据库。如何保证跨多个数据库的操作具有“原子性”。这就引出了 2PCTwo-Phase Commit两阶段提交 ——一种经典的分布式事务协调协议2PC是用于确保分布式事务原子性的协议包含准备阶段和提交阶段由一个协调者和各个节点参与第一阶段协调者询问所有参与者是否可提交事务参与者执行操作但不提交返回同意或拒绝第二阶段如果参与者收到的全是同意那就发送提交命令如果有一个参与者拒绝就发回滚命令所有参与者都进行回滚操作2PC能保证很强的一致性但有缺点同步阻塞Blocking第一阶段后所有参与者都在预提交状态并持有锁这时候如果协调者宕机或者网络延迟会导致参与者一直等待数据被锁住不可用单点故障Single Point of Failure如果在第一阶段后第二阶段前协调者宕机参与者不知道要提交还是回滚处于不确定状态整个事务可能卡住需要人工干预数据不一致风险脑裂如果第二阶段协调者发送提交给部分参与者后宕机未收到提交的参与者会回滚导致部分提交部分回滚的情况因此在高并发微服务架构中较少直接使用2PC有实际应用在单数据库的跨表事务MySQL、Oracle等数据库的内部事务提交机制就借鉴了2PC思想XA分布式事务标准Java的javax.transaction.xa.XAResource接口就是基于2PC实现的