多媒体信息化建设,动态数据中心,深入理解分布式系统

在这里插入图片描述

目录

    • 一、前言
    • 二、双活数据中心
    • 三、数据备份方式
    • 四、设计双活数据中心需要考虑的问题
      • 1、延迟和稳定性
      • 2、Quorum/ Tie-Breaker
      • 3、工作负载
    • 五、动态数据中心
    • 六、深入理解分布式系统
      • 1、内容介绍
      • 2、作者简介

大家好,我是哪吒。

文末送5本《深入理解分布式系统》

一、前言

去年的这个时候,某电信大楼发生火灾,数十层楼体燃烧剧烈,消防赶到后将火势扑灭,撤离及时,无人员伤亡。经初步侦察,现场为大厦外立面起火。为防止发生危险,大楼部分设备断电,据中国电信官方及用户反映,部分用户手机语音和短信功能受到影响,截止当晚12时仍未恢复。

电信大楼于2000年建成,建筑地上42层地下2层。大楼内含荷花园电信机房,是湖南最大的主干线接入点之一,此前资料显示,机房具备25G光纤直CHINANET骨干网,总机架数量约1000个。

事发前招标信息显示,该大厦消防设备超期运行,火灾报警系统等存在较大安全隐患。

我们公司恰好有一个项目涉及其中,甲方要求连夜通宵解决此问题,保证数据的安全性和完整性。白天开会设计方案、晚上通宵实现方案、再开会汇报技术调研成果,循环往复,最终定下了同城双活数据中心这一技术方案。

二、双活数据中心

双活数据中心同时对外提供业务生产服务的双活模式,两个数据中心是对等的、不分主从、并可同时部署业务,可极大的提高资源的利用率和系统的工作效率、性能。

数据中心双活又分为:同城双活、异地双活。

区别在于由于网速的限制,每100km所产生的数据延迟约为1ms。

出于灾备目的,一般都会建设2个(或多个)数据中心,一个是主数据中心用于承担用户的业务,一个是备份数据中心用于备份主数据中心的数据、配置、业务等。

充分利用资源,避免备用服务器常年闲置造成的资源浪费,双活数据中心的服务能力是双倍的;如果一个数据中心断了,另一个还在运行,请求可以直接全部切换到正在运行的中心,用户无感知。

三、数据备份方式

主备数据中心之间一般有热备、冷备、双活三种备份方式。

  1. 热备:只有主数据中心承担用户的业务,备数据中心对主数据中心进行实时的备份,主数据中心挂掉以后,备数据中心可以自动接管主数据中心的业务,用户的业务不会中断,所以也感觉不到数据中心的切换。
  2. 冷备:只有主数据中心承担用户的业务,备数据中心不会对主数据中心进行实时的备份,而是周期性的备份。如果主数据中心挂掉了,用户的业务就会中断。
  3. 双活:主备两个数据中心都同时承担用户的业务,主备两个数据中心互为备份,并且进行实时备份。一般来说,主数据中心的负载可能会多一些,比如分担6070%的业务,备数据中心只分担40%30%的业务。

传统主备模式是一个业务只在一个数据中心运行,企业结合灾备等级需求和业务需求,在备份中心部署了大量的备份服务器,但备份中心仅为该业务提供灾备服务,只有当灾难发生、生产数据中心瘫痪时,灾备中心的业务系统才启动这些服务器,造成备份中心服务器资源浪费。

在设计双活数据中心的时候,数据同步是一个重点、难点。如果同步效率达不到,会造成数据丢失;由于数据同步不及时,网络故障问题,会造成双活中心被分裂成两个独立的数据中心,用户无法判断两个中心的数据哪个是最新的,这种现象被定义为脑裂问题。

四、设计双活数据中心需要考虑的问题

1、延迟和稳定性

由于网速的限制,每100km所产生的数据延迟约为1ms,会对实际应用性能构成影响,特别是双数据中心数据交互密切的业务。

2、Quorum/ Tie-Breaker

为了解决双数据中心的脑裂问题,需要提供有效的Quorum/ Tie-Breaker方式来保证数据完整性。

注:Quorum 机制,是一种分布式系统中常用的,用来保证数据冗余和最终一致性的投票算法。

3、工作负载

如果增删改的操作比例越高,就会有越多的数据需要跨数据中心传送,不利于双活中心设计,此时要考虑双活系统可以承载的工作量阈值。

随着数据的增多,数据安全和隐私保护成为数据中心面临的重要挑战。数据中心需要采取更严格的安全措施,防止数据泄露、黑客攻击等问题,同时还需要满足各种合规要求。

五、动态数据中心

双活数据中心是一种两个或多个数据中心同时在线提供服务的数据中心架构。在这种架构下,两个数据中心是对等的,不分主从,并可同时部署业务,可极大地提高资源的利用率和系统的工作效率、性能。当其中一个数据中心发生故障时,另一个数据中心能接管所有的应用请求,其核心的建设目标就是要确保“数据零丢失”。双活数据中心通常需要在基础设施、中间件、应用程序各个层次进行配置,以确保数据在两个数据中心之间实时同步。

应用、中间件、数据库,一切都是双套的,虽然双活中心可以同时可以对外提供服务,但终究还是有些冗余,因为原本一个数据中心就可以完成全省的业务支撑。

“2023减员增效”成为了热点名词,双活数据中心成本确实有点高了,怎么解决?

答案是:动态数据中心。

动态数据中心是一种可以根据业务需求动态分配资源的数据中心解决方案。它可以根据业务需求弹性扩展或缩减资源,实现IT资源的最大化利用。动态数据中心通常提供自服务功能、资源管理和服务生命周期管理等,使用户可以根据需要弹性分配适当的应用配置,并支持动态扩展。动态数据中心的目标是提高数据中心的灵活性、可扩展性和效率,以满足企业的快速变化和发展需求。

双活数据中心需要在基础设施、中间件、应用程序各个层次进行配置,以确保数据在两个数据中心之间实时同步。而动态数据中心主要关注IT资源的动态分配和管理,降低管理复杂度和运营成本。

动态数据中心有助于简化基础架构配置、合并管理工具,并促进自动化和一致性的实现。通过基于模板的配置、自动化配置以及基础架构生命周期管理等功能。动态数据中心能够帮助IT 快速响应业务需求、提升数据中心效率,并且提高IT 服务的交付质量。

动态数据中心可以简化基础架构配置过程中复杂而繁琐的任务。它能够帮助IT 组织快速引入新的基础架构或快速重新配置现有基础架构。这可以大大加快新工作负载投入生产的速度或者现有工作负载的资源扩展。

六、深入理解分布式系统

在这里插入图片描述

1、内容介绍

京东购买链接:深入理解分布式系统

《深入理解分布式系统》主要讲解分布式系统常用的基础知识、算法和案例,经笔者对文献海洋中晦涩艰深的原理和算法进行提炼,辅以图示和代码,并结合实际经验进行分析总结而成。通过阅读本书,读者可以快速、轻松地掌握分布式系统的基本原理,以及Paxos或Raft共识算法,并通过典型的案例学习如何设计大型分布式系统。

《深入理解分布式系统》首先介绍什么是分布式系统、分布式系统带来的挑战,以及如何对分布式系统进行建模,这部分内容偏向概念性介绍。接着介绍了分布式数据的基础知识,包括数据分区技术、数据复制技术、CAP定理、一致性模型和隔离级别,尝试厘清一些十分容易混淆的术语,比如一致性、线性一致性、最终一致性和一致性算法等。本书还介绍了分布式系统的核心算法——Paxos和Raft算法,不仅补充了大量图示进行讲解,还从零实现了一个Paxos算法。此外,本书分析了常见的分布式事务,并讨论了分布式系统中的时间问题,整理了一些实际发生的编程陷阱。最后结合一些对工业界产生重大影响的论文或开源系统,学习前人在设计大型分布式系统时的思路、取舍和创新。

2、作者简介

唐伟志,曾任网易游戏、腾讯基础架构工程师。毕业后一直从事分布式系统相关工作,在知乎和公众号“多颗糖”上分享对分布式系统论文的解读和算法的讲解。开源爱好者、TiDB Reviewer和Kubernetes Contributor。

🏆哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/261425.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CentOS:Docker容器中安装vim

在使用docker容器时,里边没有安装vim时,敲vim命令时提示说:vim: command not found 这个时候就须要安装vim,安装命令: apt-get install vim 出现以下错误: 解决方法: apt-get update 这个命令的…

LabVIEW的六轴工业机器人运动控制系统

LabVIEW开发六轴工业机器人运动控制系统 本项目开发了一个高效的工业机器人控制系统,重点关注于运动学算法和轨迹规划算法的实现和测试。LabVIEW作为一个关键技术,在项目中扮演了核心角色。 系统研究与算法开发:首先,项目围绕机…

棱镜七彩获工业和信息化部电子第五研究所感谢信

近日,工业和信息化部电子第五研究所(以下简称“工信部电子五所”)发来一封感谢信,对棱镜七彩在系统研发及运维保障工作中做出的贡献表示感谢。 图 工业和信息化部电子第五研究所感谢信 服务保障平台和赛宝优选平台应用解决方案征…

计算机网络-网络协议

一、TCP/IP协议 作为一个小萌新,当然我无法将tcp/ip协议的大部分江山和盘托出,但是其中很多面试可能问到的知识,我觉得有必要总结一下! 首先,在学习tcp/ip协议之前,我们必须搞明白什么是tcp/ip协议。 1、…

合伙企业对外投资收益怎么纳税?

根据合伙企业的税收政策,合伙企业对外投资收益的纳税问题需要根据投资所得的性质进行分类处理。 首先,如果合伙企业对外投资获得的收益属于股息、红利、利息等被动收入,那么这些收入需要按照个人所得税法中的“利息、股息、红利所得”进行纳税…

【蓝桥杯】树的重心

树的重心 图的dfs模板 int dfs(int u) {st[u]true;for(int ih[u];i!-1;ine[i]){int je[i];if(!st[j]){dfs(j);}} }树是这样的。 邻接表: 1: 4->7->2->-1 2: 5->8->1->-1 3: 9->4->-1 4: 6->3->1->-1 5: 2->-1 6: 4->-1 7…

【数据库】函数依赖

什么是函数依赖 就是在具体的表中/问题中,哪个属性决定另外几个属性。 A属性值相同的时候,能否决定唯一的B U {学号,姓名,年龄,班号,班长,课号,成绩} 就有: ‘学号’ 决…

【数组Array】力扣-1094 拼车

目录 题目描述 解题过程 题目描述 车上最初有 capacity 个空座位。车 只能 向一个方向行驶(也就是说,不允许掉头或改变方向) 给定整数 capacity 和一个数组 trips , trip[i] [numPassengersi, fromi, toi] 表示第 i 次旅行有 numPassen…

【Netty】NIO与Netty核心概念

目录 NIO编程NIO介绍NIO和BIO的比较缓冲区(Buffer)基本介绍常用API缓冲区对象创建添加数据读取数据 通道(Channel)基本介绍Channel常用类ServerSocketChannelSocketChannel Selector (选择器)基本介绍常用API介绍示例代码 NIO 三大核心原理 Netty核心概念Netty 介绍原生 NIO 存…

机器视觉运动控制一体机在喇叭跟随点胶上的应用

市场应用背景 点胶是通过使用多种粘合剂,实现产品密封、绝缘、导热和耐腐蚀等作用,可应用于多类产品的生产制造场景,例如3C消费电子、汽车新能源、光伏和半导体等领域。 点胶是喇叭生产过程中必不可少一道工艺,音圈是扬声器的重…

铸就安全可信的数字化「信息枢纽」—华为云ROMA Connect荣膺软件产品可信【卓越级】认证

近日,在工业和信息化部电子第五研究所组织的软件产品可信评估中,华为云ROMA Connect在基线合规、渗透测试、产品可靠性、软件工程化、隐私合规、代码自研率检测、产品质量、开源治理8大方面通过严格评测,获得代表软件产品可信最高水平的「卓越…

亲测有效:导入下载starter-canal 依赖

第一步: 前往 https://github.com/chenqian56131/spring-boot-starter-canal 下载zip文件,解压到自己的maven仓库 第二步:下载完成进入项目根目录starter-canal 中 ,在文件管理器地址栏输入cmd,进入到cmd窗口&#x…

22 Vue3中使用v-for遍历对象

概述 使用v-for遍历对象在真实的开发中比较少见,了解即可。 对象我更喜欢统一称之为字典,假如你哪天发现我在某个前端的教程中把对象叫做字典,请你知道这两个是同一个玩意儿。 所谓字典,就是一种key-value类型的结构的统称。 …

年终收官!华为云开发者日·2023年度创享峰会成功举办

12月20日,华为云开发者日2023年度创享峰会成功举办,众多开发者与技术爱好者齐聚一堂,在现场,有600余名开发者与华为云技术专家共同就大模型应用、CodeArts软件开发等技术话题进行深入探讨,分享实战技巧与解决方案。此外…

潍柴动力从产业技术品牌出发存在全球商用车竞争机会

如今,有着潍柴标记的“心脏”,从道路用走向非道路用,从海洋内河航运走向高速高端大缸径,成功构筑起动力系统、商用车、农业装备、工程机械、智慧物流、海洋交通装备等产业板块协同发展的格局。 正如潍柴集团董事长谭旭光所说&…

linux c编程之动态库搜索路径和动态库的调试

动态库的搜索路径: 方法一:(1) 把xxx.so 放到/usr/lib或lib中 方法二:(2) 通过设置环境变量方法 绝对路径export LD_LIBRARY_PATH xxx : $LD_LIBRARY_PATHexport LD_LIBRARY_PATH$LD_LIBRARY_PATH:xxxx 方法三:(3)在/etc/ld.so.conf文件中加入我们生成库的目录vim 打开/etc…

使用Windows10的OneDrive应用程序,让文件管理上一个台阶

这篇文章解释了如何通过在文件资源管理器和OneDrive应用程序之间轮换,将OneDrive与Windows 10一起使用。 使用文件资源管理器进行组织 你不必将所有OneDrive文件都保存在硬盘上,事实上,你可以将任意数量的文件留在云中(也就是微…

26--字符流与字节流

1、IO流概述 1.1 什么是IO流 Java中I/O操作主要是指使用java.io包下的内容,进行输入、输出操作。输入也叫做读取数据,输出也叫做作写出数据。我们把这种数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为…

3DES加解密

public static void main(String[] args) throws Exception {String content "";String plainText "";String key "";//加密byte[] encryptedBytes encrypt(plainText, key);String encryptedText Base64.getEncoder().encodeToString(encr…

21 Vue3中使用v-for遍历对象数组

概述 使用v-for遍历对象数组在真实的开发中也属于非常常见的用法,需要重点掌握。 因为目前流行的是前后端分离开发,在前后端分离开发中,最常需要处理的就是对象数组类型的数据了。 比如,将员工信息渲染到表格中。 这节课我们就…