全国服务热线:400-035-8011

位置:西宁IT培训学院 > 学校动态 > 分布式架构有哪些技术?

分布式架构有哪些技术?

来源:西宁IT培训学院时间:2020/7/20 17:34:20

基础理论

     SOA到MSA的进化SOA面向服务架构由于业务发展到一定程度后,需要对服务进行解耦,进而把一个单一的大系统按逻辑拆分成不同的子系统,通过服务接口来通讯。面向服务的设计模式,终需要总线集成服务,而且大部分时候还共享数据库,出现单点故障时会导致总线层面的故障,更进一步可能会把数据库拖垮,所以才有了更加独立的设计方案的出现。

     MSA微服务架构微服务是真正意义上的独立服务,从服务入口到数据持久层,逻辑上都是独立隔离的,无需服务总线来接入,但同时也增加了整个分布式系统的搭建和管理难度,需要对服务进行编排和管理,所以伴随着微服务的兴起,微服务生态的整套技术栈也需要无缝接入,才能支撑起微服务的治理理念。节点与网络节点传统的节点也就是一台单体的物理机,所有的服务都揉进去包括服务和数据库;随着虚拟化的发展,单台物理机往往可以分成多台虚拟机,实现资源利用的大化,节点的概念也变成单台虚拟机上面服务;

     近几年容器技术逐渐成熟后,服务已经彻底容器化,也就是节点只是轻量级的容器服务。总体来说,节点就是能提供单位服务的逻辑计算资源的集合。网络分布式架构的根基就是网络,不管是局域网还是公网,没有网络就无法把计算机联合在一起工作,但是网络也带来了一系列的问题。

     网络消息的传播有先后,消息丢失和延迟是经常发生的事情,我们定义了三种网络工作模式:同步网络节点同步执行消息延迟有限全局锁半同步网络锁范围放宽异步网络节点独立执行消息延迟无上限无全局锁部分算法不可行常用网络传输层有两大协议的特点简介:TCP协议首先tcp协议传输可靠,尽管其他的协议可以更快传输tcp解决重复和乱序问题UDP协议常量数据流丢包不致命时间与顺序时间慢速物理时空中,时间独自在流淌着,对于串行的事务来说,很简单的就是跟着时间的脚步走就可以,先来后到的发生。

     而后我们发明了时钟来刻画以往发生的时间点,时钟让这个世界井然有序。但是对于分布式世界来说,跟时间打交道着实是一件痛苦的事情。分布式世界里面,我们要协调不同节点之间的先来后到关系,不同节点本身承认的时间又各执己见,于是我们创造了网络时间协议(NTP)试图来解决不同节点之间的标准时间,但是NTP本身表现并不尽如人意,所以我们又构造出了逻辑时钟,后改进为向量时钟:NTP的一些缺点,无法完全满足分布式下并发任务的协调问题节点间时间不同步硬件时钟漂移线程可能休眠操作系统休眠硬件休眠

逻辑时钟定义事件先来后到t'=max(t,t_msg+1)向量时钟t_i'=max(t_i,t_msg_i)

     原子钟顺序有了衡量时间的工具,解决顺序问题自然就是水到渠成了。因为整个分布式的理论基础就是如何协商不同节点的一致性问题,而顺序则是一致性理论的基本概念,所以前文我们才需要花时间介绍衡量时间的刻度和工具。

     强一致性D单机环境下我们对传统关系型数据库有苛刻的要求,由于存在网络的延迟和消息丢失,D便是增加事务的原则,这原则甚至我们都不需要解释出来就耳熟能详了:Atomicity:原子性,一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节;Consistency:一致性,在事务开始之前和事务结束以后,数据库的完整性没有被破坏;Isolation:隔离性,数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时,由于交叉执行而导致数据的不一致;Durabilit:事务处理结束后,对数据的修改就是的,即便系统故障也不会丢失。

     分布式一致性CAP分布式环境下,我们无法增加网络的正常连接和信息的传送,于是发展出了CAP/FLP/DLS这三个重要的理论:CAP:分布式计算系统不可能同时确保一致性、可用性和分区容忍性;FLP:在异步环境中,如果节点间的网络延迟没有上限,只要有一个恶意的节点存在,就没有算法能在有限的时间内达成共识;DLS:在一个部分同步网络的模型下运行的协议可以容忍1/3任意错误;在一个异步模型中的确定性的协议不能容错;同步模型中的协议,可以令人吃惊的达到容错,虽然对1/2的节点出错可以发生的情况有所限制。弱一致性BASE多数情况下,其实我们也并非一定要求强一致性,部分业务可以容忍一定程度的延迟一致,所以为了兼顾效率,发展出来了终一致性理论BASE。BASE是指基本可用、软状态、终一致性:基本可用:基本可用是指分布式系统在出现故障的时候,允许损失部分可用性,即增加核心可用;软状态:软状态是指允许系统存在中间状态,而该中间状态不会影响系统整体可用性。

领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/2008/news/222091/违者必究! 以上就是西宁IT培训学院 小编为您整理 分布式架构有哪些技术?的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-035-8011