课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
程序员在开发软件的时候能够用到的方法是非常多的,而本文我们就简单来了解一下,分布式并发控制需要满足哪些条件。
常常用于构建分布式系统的工具是RPC和线程。其中RPC的目标就是掩盖我们正在不可靠网络上通信的事实,而线程提供了并发操作的方式。因此,在实现分布式系统的时候需要花一定的时间来考虑多线程的并发控制。
可扩展性(scalability):我们希望可以通过增加机器的方式来实现扩展,假如仅仅通过增加机器就可以获得更高得性能,那么称这个系统具有可扩展性。但是这现实中这很难实现,需要一些架构设计来将这个可扩展性无限推进下去。
可用性:在出现特定的错误类型的情况下,系统仍然可以继续提供完整的服务,就像没有发生错误一样。
可恢复性:出现错误,系统停止服务,但经过修理之后仍然可以提供服务。这是一个比可用性更弱的要求。
一个好的可用性系统,在出现了大量错误的时候也会停止工作,因此也应该是可恢复的。为了实现这些特性,可以借助的工具有:非易失性存储、复制(replication)。
一致性:指的是当系统中有多个repliacation的时候,请求任意副本中的数据都会得到一致的结果。
一致性分为强一致性和弱一致性。强一致性也称为线性一致性,请求的处理与replication的更新是同步的,而弱一致性是异步的。强一致性可以保证从库有与主库一致的数据。如果主库突然宕机,我们仍可以保证数据完整。但如果从库宕机或网络阻塞,主库就无法完成写入操作。强一致性需要大量的网络通信才能达到。因此工业上常常使用弱一致性。在实践中,我们通常使一个从库是同步的,而其他的则是异步的。如果这个同步的从库出现问题,则使另一个异步从库同步。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。