加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 运营中心 > 产品 > 正文

趋势解读 | 分布式架构是数据中心的未来吗?

发布时间:2019-10-30 15:22:54 所属栏目:产品 来源:亿欧
导读:副标题#e# 一、什么是数据中心? 什么是数据中心?百度百科给出定义是:数据中心是全球协作的特定设备网络,用来在因特网络基础设施上传递、加速、展示、计算、存储数据信息。数据中心大部分电子元件都是由低直流电源驱动运行的。 数据中心的产生致使人们的

集中式架构在系统复杂度、数据一致性、安全措施实施方便性和运维管理复杂度等方面有一定优势。分布式架构在资源使用成本和扩展能力、业务部署的灵活和系统可用性等方面具有明显优势。而且集中式架构的复杂性可以通过加强管理和设计降低复杂度,安全措施则可以通过增加安全系统和手段加强控制,数据一致性则需要通过先进的分布式系统与大规模运维平台来支持,当然前提是需要牺牲一定的可用性,这也是分布式架构面临的一个挑战,下文我们会进行详细论述。

四、分布式架构建设的挑战

随着数据中心信息系统数量的增加和处理数据量越来越大,分布式架构的优势会越来越明显。但是越是先进的架构所面临的挑战也就越大,由于分布式架构采用多节点设计,这种架构最大的难点是会导致数据一致性和可用性上的挑战,所有的分布式架构设计都绕不开这两个挑战。

在分布式架构中,有一个非常著名的CAP理论(又被称作布鲁尔定理),定义如下:

对于任何一个分布式计算系统,不可能同时满足以下三点:一致性(Consistency)、可用性(Availability)和容忍网络分区(Partitiontolerance)。

一致性通常指数据一致性,即要求所有节点数据保持一致。可用性即要求每个节点在故障时都可以提供服务。容忍网络分区,通常指各个节点之间的网络通信性能。

根据CAP理论,分布式系统只能满足其中两项而不可能满足全部三项。

CP模型:不考虑A(可用性),多个节点之间数据具备强一致性。如果某个节点故障,那么就将这个故障节点丢弃(不考虑A),否则会导致各个节点之间数据同步被无限延长。为了保证数据的一致性,大多数金融行业的分布式关系型数据库采用这一模型,

AP模型:不考虑C(一致性),多个节点之间要求高可用。如果某个节点故障,并与其他节点失去联系,为了保证节点的可用性,会放弃全局数据一致性(不考虑C)。节点访问并使用本地节点数据,各个节点数据会导致不一致。大多数非关系型的数据库采用这一模型,因为不需要高度的数据一致性。

CA模型:不考虑P(容忍网络分区),两个或多个节点之间要求必须具备可用性的同时又要求数据一致。如果某个节点故障,为了同时保证可用性和数据一致性,那么只能对分布式网络进行强制分区,划分成多个不同的分区来保证C和A,会导致分区被割裂。

由以上几个模式可以看出,在分布式计算环境下,P是必须要现实的,否则分布式网络节点通讯就会出现问题,所以只能在C和A之间做出选择,即选择CP模型或者AP模型,实际的选择需要根据自身的业务场景来根据各个不同的模型特点进行取舍。

对于一些离线的应用或者对可用性要求不高的业务,可以采用CP模型。这一类模型相对简单,但是应用场景也有限。例如日志数据分析系统,大部分数据都在本地,我们只需要在分布式架构中配置一定的冗余节点和恢复机制即可。如果某个节点出现故障,分析系统会自动等待其他备用节点恢复后再继续运行,因为短时间停止不会对系统产生太多影响,但是各个节点分析的数据要求必须保持一致性。

在数据中心,核心系统和重要业务系统占比较大,如果采用分布式架构,可能即需要高用性也要求数据一致性,这是分布式架构设计最大的一个挑战。

以金融行业为例,保证业务的连续性和高可用性是非常重要的一个需求,可以采用AP模型进行设计。但是数据一致性也是要尽量保证的,因为金融系统如果数据不一致,会产生严重的数据问题。关于数据一致性,在分布式架构中可以按程度分为强一致性、弱一致性和最终一致性。为了保证金融系统的高可用和业务连续性,数据强一致性很难达到,弱一致性又无法满足要求,做为取舍,可以实现数据的最终一致性。在分布式系统中,数据会被存储在多个节点,各个节点的数据被应用修改后,最终一致性不要求各个节点同时更新数据,只要求尽快将各个节点更新后的数据分布到整个系统中,这样在保证系统可用性的同时会实现数据的最终一致性,保证金融行业对数据要求。当然,并不是所有的金融业务都可以采用最终一致性的方案,例如核心实时交易系统,必要要求实时处理数据并保持强一致性,这也是目前大多数金融机构核心交易系统还在使用集中式架构的原因。

分布式云数据中心在建设过程中同样也面临一些挑战,主要包括网络、存储和计算三个方面:

在网络方面,多个分布式云数据中心之间的通信是个问题。需要考虑多个不同区域的网络访问接入、负载均衡问题。还要满足分散在多个云数据中心之间的业务通信和切换的需要。目前主流的技术方案是以大二层网络技术为主,打通多个数据之间的网络,形成一个统一的逻辑网络。但是目前各个网络设备厂商之间的大二层网络和协议不统一,设备兼容性有一定的问题,这也是分布式云数据中心改造所需要解决的一个问题。

在存储方面,数据实时同步,实现统一的存储资源共享并建立高可靠性的数据保护机制,是一个比较严峻的挑战。多个数据中心可能分散在不同地域,各个数据中心之间的网络带宽有限,可能无法做到数据实时同步,只能采用异步传输。那么数据一致性和完整性可能就等不到保证。上文提到的应用解耦+微服务架构可以解决一部分问题。但是对于传统的无法进行微服务改造的应用仍然是个难题。在数据一致性和可用性上可能需要一些取舍。

在计算方面,目前技术相对成熟。将资源云化以后,利用云计算技术可以实现对计算资源在多个云数据中心的统一调度和管理。还可以设定权限,进行精细化管理。在计算方面的一些挑战,通常指对计算资源的管理。例如在某一个应用出现故障时,是将这个资源在本地进行重建还是在其他云数据中心进行迁移和重启,因为这会影响到各个节点的其他业务访问,需要提前进行统一的规划和安排。

五、结束语

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读