为什么各大企业仍趋之若鹜的要做架构改造呢?
随着互联网的扩散,越来越多的公司正在不断迭代他们的产品,同时还升级其技术架构,将早期单片架构升级到分布式架构。升级和转型的成本非常大,为什么主要公司仍然急于进行结构转型?
有三个主要原因:
1)单个系统的成本太高。互联网用户涌入的增加导致了需要更好的计算,网络和存储能力。通过扩展小型计算机和大型机来提高单台计算机的性能太昂贵了。现在,普通企业无法承受。
2)数据的时代是国王需要更多的数据进行分析。企业需要更经济的方式来存储和分析数据。多节点分布式系统显然是更好的选择;
3)在用户是国王的互联网时代,互联网产品需要7 * 24小时提供服务,以确保系统的高可用性。通过添加机器准备灾难恢复的方法也进化为分布式系统。
总之,我们需要一个分布式系统。分布式系统的定义是由一组计算机节点组成的系统,该计算机节点通过网络进行通信并协调完成常用任务。简单来说,它是通过网络连接许多链接的计算机,共同努力,创建一个高性能,高可用的系统,为外部世界提供服务。
分布式系统的学习包括两个模块分布式计算和分布式存储。在分布式计算中,我们需要学习四个知识点:
1)服务如何找到另一项服务?
2)如何确定发送服务请求的实例?
3)如何避免系统的雪崩?
4)如何监控和警报? 。
在分布式存储中,我们还需要学习四个知识点:
1)如何判断数据存储规则?
2)如何分离数据?
3)如何复制数据?
4)如何进行分布式交易?
在分布式系统的分布式计算中,第一个问题是服务如何找到另一个服务?这部分主要与microServices的想法相结合。通过将服务划分为生产者(提供响应性服务)和消费者(启动所请求的服务),然后通过服务注册和服务发现,制作人节点发送它可以提供它可以提供的服务,它自己的IP地址端口等到注册表,并且消费者节点转到注册表中获取它根据自己的要求需求。服务。
第二个问题是在找到服务之后,消费者节点应该将用户的请求发送到部署生产者节点的位置?如果是一个有状态服务(即,在相同的服务下的不同机器的数据是不同的),请使用路由确认当前要访问的请求数据的实例是开启,然后分发请求;如果服务是无状态的(即,同一服务中的不同机器的数据相同),请求可以通过诸如哈希,重量分布和轮询等规则分发。
第三个问题是如何避免服务雪崩(即某个机器部署某个服务存在问题,将发送大量请求,导致其他计算机无法承受它,最后所有的服务机器挂了)?分布式系统中有两种方法:1。快速减少系统负载以避免雪崩,即保险丝服务,降级服务和电流限制服务; 2.通过快速增加机器节点,接受更多服务请求,即灵活扩展。
最后一个问题是如何监视和警告分布式系统?在一个分布式系统中,由于服务和许多机器,如果您不了解系统的整体情况以及服务如何相互关联,则非常困难解决它们发生时问题。通过在部署服务的每台机器上安装探针,收集数据和执行分布式跟踪跟踪,与某些报警机器组合,可以保证服务的高可用性,并且在出现问题时可以快速调查并解决问题。
在分布式系统的分布式存储中,第一个问题是使用什么样的规则来确定如何存储数据?行业中有三种流行的理论,即酸(即原子性,一致性,隔离,耐用性),基础(即基本上可用,软士软状态,最终一致的最终一致性),帽(即一致性一致的可用性,可用性,分区分区容错)。这取决于不同的业务场景。在交易场景中,大多数公司将采用酸性原则,即交易操作不能接受任何错误,每个操作的步骤必须是原子的,隔离操作和操作数据,并且操作完成后部数据是执着的;在大多数情景中,公司一般采用基本原则,即由于每个业务系统开头的业务量大,数据不需要强烈的一致性,但可以以某种方式采用它使数据保持一致结束。
第二个问题是如何进行数据碎片?我们知道Internet系统将生成大量数据,并且单个机器无法存储所有数据,因此我们需要解决如何将数据存储在不同的计算机上。分布式系统中的常用规则是哈希,一致的哈希和范围碎片规则,用于存储不同机器上的数据。
第三个问题是如何进行数据复制?为了确保服务的高可用性,除了冷待机准备机器外,还需要数据处理,以确保为访问任何节点的业务请求的数据是一致的准确性。常用的解决方案包括主从复制,共识协议RAFT等。
第四个问题是如何进行分布式交易?在独立系统中,可以通过添加时间戳和序列号来实现交易功能。但是,在分布式系统中,由于系统被分成了微服务和微服务被分成多个节点进行部署,因此系统中的时间不能完全同步。此时,您可以使用整个系统选择机器以根据单个机器的模式来生产事务ID,以及在同一城市中的多个中心和不同位置的多个中心转到机器以获取交易ID实现分布式交易一致性。
此时,分布式系统的学习即将结束。让我们从需要为什么需要分布式系统,并介绍互联网时代的当前问题,分布式系统的定义,分布式系统计算的核心知识点,以及系统存储知识点的当前问题。目前,领先的互联网公司,如Ali Toutiao,腾讯,百度,Meituan等,银行和保险等金融行业,以及医疗,教育,健康等传统产业,已经开始重组其技术架构,将个别应用程序转化为分配,因此掌握分布式系统后,在秋季招聘和金九银十件母跳季节,会有助于去公司喜欢?