分布式理论

分布式概念

分布式系统是建立在网络上的软件系统, 分布式系统是由多台计算机组成通过网络进行通信,为了完成共同的任务而协调工作的计算机节点组成的系统, 就好比分布式系统是一个集合,元素则是独立计算机, 给用户的感觉就像一个整体

分布式系统服务一般都是根据项目的模块来划分服务,分散部署不同的独立机器上,一个服务可能负责几个功能,是一种面向SOA架构的,服务之间的通讯交互大多使用HTTP或者RPC协议,

分布式系统相比于传统单系统服务,提高了,可靠性,可用性,扩展性

分布式的特征

分布式系统应具有以下4个特征

  1. 分布性:分布式系统由多台计算机组成,每台计算机可以在任意地方,
  2. 自治性:分布式系统中各个节点,都是独立的,能自己处理数据,业务,没有主从之分
  3. 并行性:一个大的任务划分为多个小任务,在不同节点执行
  4. 全局性:分布式系统拥有单一的,全局的进程通信机制,使不同的进程之间可以相互通信,不同计算机之间可以相互访问资源。

单体,集群,分布式,微服务介绍和区别

1.单体系统

单体系统,一个项目就是一个服务,优缺点非常明显
优点:开发成本周期短,易维护,不用考虑分布式一致性,可用性,分区容错性
缺点:高可用,可靠性不足,无法平滑部署,随着数据量和并发上来,扩展性不好,以一个整体集群方式扩展优化,无法把服务器利用率无法最大化

2.集群

为了保证线上服务的稳定性,防止单台服务器异常,导致项目蹦了,一般都会采用集群方式保证高可用

传统单体系统做了集群,并不是就是分布式系统了,本质还是单体系统
高可用性集群(HA)
一个集群只有一台主节点(处理业务),其他的节点都是备用节点,当主节点挂了,会通知一个从节点,让其成为主节点,避免减少服务中断影响到业务,于此类集群还有很多通俗的名称,如“双机热备”, “双机互备”等

负载均衡集群(LB)
集群模式比较常用的方式,多个节点接收请求,提高服务的并发,请求已根据负载均衡算法,分发给节点,减少服务器的压力

高性能模式集群(HPC)
高性能集群个下的节点,是指用来处,种处理方式我们称为并行处理集群,并行处理集群是将大任务划分为小任务,分别进行处理的机制,常常用于大数据分析,海量资源整合理同一个任务,进行运算,任务量可能处理非常耗时,所以需要多台机器处理
在这里插入图片描述

3.分布式系统

分布式是由单体系统演化而来,当单体服务节点无法满足日益增长的计算和存储,且硬件的提升(cpu,内存,磁盘)和集群价格高昂时,就需要引入分布式系统,但是分布式系统要解决的问题也并不比单体系统少,由于分布式多节点,网络通信和一致性问题,需要引入更多的机制,协议来处理
   
分布式系统服务一般都是根据项目的模块来划分服务,分散部署不同的独立机器上,一个服务可能负责几个功能,是一种面向SOA架构的,分布式系统偏向的部署方式,而不是项目中架构

4.微服务架构

微服务架构,其核心就是为了解决微服务化化的服务治理问题

微服务可以理解是把服务拆分粒度划分的很小,每个服务只做一件事情,如注册,登录,短信,都能拆分成服务,每个微服务也都能够有单独的团队,且相互的服务也都不会影响到其他的服务

在这里插入图片描述

单体,分布式系统,微服务的区别

  1. 单体服务高可用,扩展性,可用性,跟分布式和微服务没有可比性
  2. 分布式是系统部署方式,微服务是架构设计,微服务是依赖分布式理论的
  3. 微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低,由于每个微服务都由独立的小团队负责,因此它敏捷性更高,分布式服务最后都会向微服务架构演化,这是一种趋势,
    不过服务微服务化后带来   的挑战也是显而易见的,例如服务粒度小,数量大,后期运维将会很难

CAP理论

CAP理论是分布式系统的基础理论,它描述的是一个分布式系统在以下三个特征中
1.一致性(Consistency)

分布式系统中多节点读写操作,值是要最新的,保证多节点访问数据的一致

2.可用性(Availability)

一直可以正常读写操作,简单而言就是客户端一直可用正常访问并得到系统的正常响应

3.分区容错性(Partition tolerance)

分布式系统中某个节点因为某些原因故障了,整个服务仍然能对外提供可用性

在CAP理论中一个分布式系统不可能同时满足一致性,可用性,分区容错性三个基本需求,最多只能满足两个,所以分布式服务要是CA,要么CP,要么AP,无法同时满足CAP

分布式系统中是P基本要求,一般都是在C一致性和A可用性的取舍 在这里插入图片描述
 CAP三者不可兼得,改如何取舍

  • CA:优先保证一致性和可用性,放弃分区容错,这也意味放弃系统的扩张性,系统不再是分布式的,有违设计的初衷
  • CP:优先保证一致性和分区容错性,放弃可用性,在数据一致性要求性比较高的场合(锁,可以用zookeeper,Hbase)是比较常用的做法,一旦发送网络故障或者消息丢失,就会牺牲用户体验
  • AP:优先保证可用性和分区容错性,放弃一致性,NoSQL中的Cassandra 就是这种架构。跟CP一样,放弃一致性不是说一致性就不保证了,而是逐渐的变得一致。

BASE理论

BASE是Basically Available(基本可用)、Soft state(软状态)Eventually consistent(最终一致性)三个短语的简写
 
base是对CAP中一致性和可用性权衡的结果,BASE就是CAP的折中,CAP我都要,但不用100%保证每一次实现CAP

BASE是对CAP中一致性和可用性权衡的结果,其来源于大规模互联网系统分布式实践结论,基于CAP定理逐渐演化而来的,其核心思想是无法做到强一致性,但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性

有兴趣的小伙伴可以加群,遇到问题可以一起讨论
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值