2021-01-31 分类: 网站建设
什么是数据中心?百度百科给出定义是:数据中心是全球协作的特定设备网络,用来在因特网络基础设施上传递、加速、展示、计算、存储数据信息。数据中心大部分电子元件都是由低直流电源驱动运行的。
数据中心的产生致使人们的认识从定量、结构的世界进入到不确定和非结构的世界中,它将和交通、网络通讯一样逐渐成为现代社会基础设施的一部分,进而对很多产业都产生了积极影响。不过数据中心的发展不能仅凭经验,还要真正的结合实践,促使数据中心发挥真正的价值作用,促使社会的快速变革。
通过上述对集中式和分布式架构在资源处理能力、业务支撑能力、安全管理能力、可用性和一致性、运维和管理等多个方面的分析可以看出:
集中式架构在系统复杂度、数据一致性、安全措施实施方便性和运维管理复杂度等方面有一定优势。分布式架构在资源使用成本和扩展能力、业务部署的灵活和系统可用性等方面具有明显优势。而且集中式架构的复杂性可以通过加强管理和设计降低复杂度,安全措施则可以通过增加安全系统和手段加强控制,数据一致性则需要通过先进的分布式系统与大规模运维平台来支持,当然前提是需要牺牲一定的可用性,这也是分布式架构面临的一个挑战,下文我们会进行详细论述。
随着数据中心信息系统数量的增加和处理数据量越来越大,分布式架构的优势会越来越明显。但是越是先进的架构所面临的挑战也就越大,由于分布式架构采用多节点设计,这种架构大的难点是会导致数据一致性和可用性上的挑战,所有的分布式架构设计都绕不开这两个挑战。
在分布式架构中,有一个非常著名的CAP理论(又被称作布鲁尔定理),定义如下:
对于任何一个分布式计算系统,不可能同时满足以下三点:一致性(Consistency)、可用性(Availability)和容忍网络分区(Partitiontolerance)。
一致性通常指数据一致性,即要求所有节点数据保持一致。可用性即要求每个节点在故障时都可以提供服务。容忍网络分区,通常指各个节点之间的网络通信性能。
根据CAP理论,分布式系统只能满足其中两项而不可能满足全部三项。
CP模型:不考虑A(可用性),多个节点之间数据具备强一致性。如果某个节点故障,那么就将这个故障节点丢弃(不考虑A),否则会导致各个节点之间数据同步被无限延长。为了保证数据的一致性,大多数金融行业的分布式关系型数据库采用这一模型,
AP模型:不考虑C(一致性),多个节点之间要求高可用。如果某个节点故障,并与其他节点失去联系,为了保证节点的可用性,会放弃全局数据一致性(不考虑C)。节点访问并使用本地节点数据,各个节点数据会导致不一致。大多数非关系型的数据库采用这一模型,因为不需要高度的数据一致性。
CA模型:不考虑P(容忍网络分区),两个或多个节点之间要求必须具备可用性的同时又要求数据一致。如果某个节点故障,为了同时保证可用性和数据一致性,那么只能对分布式网络进行强制分区,划分成多个不同的分区来保证C和A,会导致分区被割裂。
由以上几个模式可以看出,在分布式计算环境下,P是必须要现实的,否则分布式网络节点通讯就会出现问题,所以只能在C和A之间做出选择,即选择CP模型或者AP模型,实际的选择需要根据自身的业务场景来根据各个不同的模型特点进行取舍。
对于一些离线的应用或者对可用性要求不高的业务,可以采用CP模型。这一类模型相对简单,但是应用场景也有限。例如日志数据分析系统,大部分数据都在本地,我们只需要在分布式架构中配置一定的冗余节点和恢复机制即可。如果某个节点出现故障,分析系统会自动等待其他备用节点恢复后再继续运行,因为短时间停止不会对系统产生太多影响,但是各个节点分析的数据要求必须保持一致性。
在数据中心,核心系统和重要业务系统占比较大,如果采用分布式架构,可能即需要高用性也要求数据一致性,这是分布式架构设计比较大的一个挑战。
以金融行业为例,保证业务的连续性和高可用性是非常重要的一个需求,可以采用AP模型进行设计。但是数据一致性也是要尽量保证的,因为金融系统如果数据不一致,会产生严重的数据问题。关于数据一致性,在分布式架构中可以按程度分为强一致性、弱一致性和最终一致性。为了保证金融系统的高可用和业务连续性,数据强一致性很难达到,弱一致性又无法满足要求,做为取舍,可以实现数据的最终一致性。在分布式系统中,数据会被存储在多个节点,各个节点的数据被应用修改后,最终一致性不要求各个节点同时更新数据,只要求尽快将各个节点更新后的数据分布到整个系统中,这样在保证系统可用性的同时会实现数据的最终一致性,保证金融行业对数据要求。当然,并不是所有的金融业务都可以采用最终一致性的方案,例如核心实时交易系统,必要要求实时处理数据并保持强一致性,这也是目前大多数金融机构核心交易系统还在使用集中式架构的原因。
分布式云数据中心在建设过程中同样也面临一些挑战,主要包括网络、存储和计算三个方面:
在网络方面,多个分布式云数据中心之间的通信是个问题。需要考虑多个不同区域的网络访问接入、负载均衡问题。还要满足分散在多个云数据中心之间的业务通信和切换的需要。目前主流的技术方案是以大二层网络技术为主,打通多个数据之间的网络,形成一个统一的逻辑网络。但是目前各个网络设备厂商之间的大二层网络和协议不统一,设备兼容性有一定的问题,这也是分布式云数据中心改造所需要解决的一个问题。
在存储方面,数据实时同步,实现统一的存储资源共享并建立高可靠性的数据保护机制,是一个比较严峻的挑战。多个数据中心可能分散在不同地域,各个数据中心之间的网络带宽有限,可能无法做到数据实时同步,只能采用异步传输。那么数据一致性和完整性可能就等不到保证。上文提到的应用解耦+微服务架构可以解决一部分问题。但是对于传统的无法进行微服务改造的应用仍然是个难题。在数据一致性和可用性上可能需要一些取舍。
在计算方面,目前技术相对成熟。将资源云化以后,利用云计算技术可以实现对计算资源在多个云数据中心的统一调度和管理。还可以设定权限,进行精细化管理。在计算方面的一些挑战,通常指对计算资源的管理。例如在某一个应用出现故障时,是将这个资源在本地进行重建还是在其他云数据中心进行迁移和重启,因为这会影响到各个节点的其他业务访问,需要提前进行统一的规划和安排。
相对于传统数据中心,构建分布式架构的云数据中心是非常有必要的,它影响着数据中心建设的方方面面。在未来,没有分布式架构的数据中心一定不会是一个优秀的数据中心。通过云计算技术的不断发展与实践,我相信分布式架构一定会成为数据中心的未来发展方向。即使未来数据中心的架构不是完全分布式的,但是分布式架构也绝对不会缺席,一定会有分布式架构的一席之地。
本文名称:分布式架构是数据中心的未来吗?
本文路径:/news18/98318.html
成都网站建设公司_创新互联,为您提供企业网站制作、App设计、ChatGPT、面包屑导航、服务器托管、微信公众号
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联
猜你还喜欢下面的内容