合肥Web培训
达内合肥web培训中心

18130056197

合肥达内web培训软件开发CAP定理应用方式分析


分布式编程开发是目前大多数软件开发程序员都在学习和使用的一个编程技术,下面我们就通过案例分析来了解一下,软件开发CAP定理应用方式分析。

合肥达内web培训软件开发CAP定理应用方式分析

CAP理论又称CAP定理,它说的是在一个分布式系统中,服务(数据)层面的一致性(Consistency)、服务自身的可用性(Availability)、网络不同节点分区容错性(Partitiontolerance)。

A和C相信大家从字面上都可以理解了,这里要声明一下比较陌生的P:它代表如果要保证不同的节点即使在网络出现问题的时候仍能够访问到数据,那么直接的办法就是冗余赋值节点,否则一切都是空谈,所以作为一个分布式系统而言,无法忽略P,我们可以理解它就是A和C的基础。

CAP体系总结

只保证AC就是一个单体应用,根本不是分布式。意义当然有,在分布式出现之前都是这么搭系统。倘若这个系统的节点之一挂了,不会发生脑裂而是整个系统直接宕掉。

进一步说如果网络中存在的节点越多,分区容忍性越高,但要复制更新的数据就越多,一致性就越难保证。

为了保证一致性,更新所有节点数据所需要的时间就越长,可用性就会降低。

服务的可用性

服务可用性,是在于高并发流量的冲击下,仍然可以保持服务的可用性并且还要保证一直可以输出对外界的服务能力,不会造成宕机以及资源损坏,即使在内存和网络甚至硬件资源有限的情况下,也不会被击垮“死亡”。

数据的一致性

都知道,我们开发的程序以及现在多数的服务器,比如数据库,他们在处理数据的时候,很有可能会存在多个线程同时在修改同一行数据或者同一块内存,在Java角度而言本身也会存在不一致的问题,而在程序和中间件的角度而言,也是一样,会出现同一时刻在数据修改顺序的乱序化,以及数据的紊乱,造成数据的重复操作,造成与我们预期的设想不同。

除非你可以实现串行化,一条一条处理,不让它们同一时刻就行修改或者操作数据,这个是本质且安全的办法,但是也是影响性能的办法。(悲观锁、同步队列)。

此外还有一种办法就是,时时刻刻在原子层级,也就是接近底层的计算机修改数据的时候,或者在所有节点之间建立一个应用层级的中间汇总干路点(redis或者database的主干点),上面加入写屏障和读屏障,在修改之前,在进行一次校验判断,如果数据与预期不同,就不进行修改。这就是著名的乐观锁!

服务快速响应性

一般来讲这个属于用户体验,一个较为合格的秒杀系统,是不应该让用户漫长的等待好尽可能快速反馈结果。要做成快速响应,就不需要是异步返回,直接快速响应。此外还需要尽快帮助用户计算数据,直接返回。

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。

免费预约22大课程试听课

上一篇:合肥web前端培训机器人流程自动化对员工的影响
下一篇:没有下一篇了

合肥达内web培训软件开发CAP定理应用方式分析

合肥web前端培训机器人流程自动化对员工的影响

合肥达内培训软件开发原型产品的作用

合肥web前端培训服务器安全防护措施都有哪些

关于达内

达内简介 联系我们
选择城市和中心
江西省

贵州省

广西省

海南省