
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的程序员都在学习不同的软件编程开发技术,而本文我们就通过案例分析来简单了解一下,分布式架构部署需要关注哪些问题。
一、分布式系统如何进行分布?
我们来看一下分布系统进行分布的常用方式:
1.哈希
以哈希方式把不同的值进行哈希运算,映射到不同的机器或者节点上。这种方式在扩展的时候比较困难,因为数据分散在多个机器上很容易出现分布不均的情况,常见的哈希对象有ip,url,id等。
2.数据范围
按数据范围分布,比如ID在1~100的在机器a上,ID在100~200的在机器b上,诸如此类。这种分布方法数据比较均匀。如果某个节点处理能力有限,可以直接分裂这个节点。
维护数据分布的这些原数据,如果量非常大的话,可能会出现单点瓶颈。
因此一定要严格控制元数据量。
3.数据量
按数据量来分布数据,是以较为固定的大小将数据划分为若干的数据块,再把不同的数据块分布到不同的服务器上。
以数据量来进行分布的这些数据,也需要被记录下来作为元数据来管理。
当集群规模很大时,元数据的量也会变大。
4.副本与数据分布
这种方式是指把数据给分散到多个服务器上。如果其中一台出现问题,请求就会被转到其他服务器上。其原理是多个机器互为副本,这是比较理想的实现负载分压的方式。
5.一致性哈希
一致性哈希。通过哈希域构造哈希环,在增加机器时,变动的是其附近的节点,分摊的是附近节点的压力,其元数据的维护和按数量分布的维护方式一致。
二、分布式应用通常使用的架构类型哪些?
1客户端服务器
在这个类型中,分布式系统架构有一个服务器作为共享资源。比如打印机数据库或者网络服务器。它有多个客户机,这些客户机决定何时使用共享资源,如何使用和显示改变数据,并将其送回服务器,像git这样的代码仓,这是一个很好的例子。
2三层架构
这种架构把系统分为表现层,逻辑层和数据层,这简化了应用程序的部署,大部分早期的网络应用都是三层的。
3多层架构
上面的三层架构是多层架构的一种特殊形式。
一般会把上面的三层进行更详细的划分,比如说以业务的形式进行分层。
4点对点架构
在这种架构中,没有专门的机器提供服务或管理网络资源。而是将责任统一分配给所有的机器,成为对等机,对等机既可以作为客户机,也可以作为服务器。这种架构的例子,包括bittorrent和区块链。
5以数据库为中心
这种架构是指用一个共享的数据库,使分布式的各个节点在不需要任何形式直接通信的情况下,进行协同工作的架构。
三、分布式系统的优缺点有哪些?
1分布式系统的优点
1.分布式系统中的所有节点都是相互连接的。所以节点可以很容易地与其他节点共享数据。
2.更多的节点可以很容易地添加到分布式系统中,即可以根据需要进行扩展。
3.一个节点的故障不会导致整个分布式系统的失败。其他节点仍然可以相互通信。
4.硬件资源可以与多个节点共享,而不是只限于一个节点。
2分布式系统的缺点
1.在分布式系统中很难提供足够的安全,因为节点以及连接都需要安全。
2.一些消息和数据在从一个节点转移到另一个节点时,可能会在网络中丢失。
3.与单用户系统相比,连接到分布式系统的数据库是相当复杂和难以处理的。
4.如果分布式系统的所有节点都试图同时发送数据,网络中可能会出现过载现象。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。