课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习软件编程开发技术,而今天我们就通过案例分析来了解一下,分布式系统的概念与常见问题。
1.定义
分布式系统会划分成多个子系统或模块,各自运行在不同的机器上,子系统或模块之间通过网络通信进行协作,实现终的整体功能。比如分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。利用多个节点共同协作完成一项或多项具体业务功能的系统就是分布式系统。
举例:SolrCloud
A.一个solrcloud集群通常有多台solr服务器
B.每一个solr服务器节点负责存储整个索引库的若干个shard(数据分片)
C.每一个shard又有多台服务器存放若干个副本互为主备用
D.索引的建立和查询会在整个集群的各个节点上并发执行
E.SolrCloud集群作为整体对外服务,而其内部细节可对客户端透明
2.问题及方案
1)CAP的权衡
分布式领域有一个非常著名的CAP理论,是由EricBrewer提出的分布式系统中为重要的理论之一。其定义很好理解,CAP三个字母分别代表了分布式系统中三个相互矛盾的属性。CAP分别代表Consistency、Availiablity、Tolerancetothepartitionofnetwork即一致性、可用性、网络分区容忍性。
一致性(Consistency):在CAP理论中的一致性是强一致性,即每个节点上的数据时刻保持一致。
可用性(Availiablity):是指分布式系统在出现异常情况的时候的可用度。
分区容忍性(Tolerance…):是指分布式系统对网络分区的容错度。
CAP理论指出:无法设计一种分布式协议,使得同时完全具备CAP三个属性,即该种协议下的副本始终是强一致性&服务始终是可用的&协议可以容忍任何网络分区异常;分布式系统协议只能在CAP这三者间所有折中。
CAP折中的实现可以体现在分布式协议中:
a.Lease机制牺牲了部分异常情况下的A,从而获得了完全的C与很好的P。
b.Quorum机制,即总共有N个副本,成功更新W个副本则算成功提交,读取时读R个副本。这种一般的Quorum机制,在CAP三大因素中都各做了折中,有一定的C,有较好的A,也有较好的P,是一种较为平衡的分布式协议。
c.两阶段提交系统具有完全的C,很不好A,很不好P。
d.Paxos协议具有完全的C,较好的A,较好的P。
2)负载均衡
在某些有多个节点的分布式系统中需要对服务请求进行负载均衡,根据业务需求的不同也可以使用不同的负载均衡算法,例如一致性Hash。
3)高并发
有些分布式系统对并发性有很高的要求,通常是使用MVCC:Multiversionconcurrencycontrol,多版本并发控制技术。本质是使用COW+Version+CAS这个技术组合来提升系统并发性。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。