前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分布式系统

分布式系统

作者头像
shysh95
发布2019-07-23 09:59:36
8060
发布2019-07-23 09:59:36
举报
文章被收录于专栏:shysh95shysh95

随着互联网的发展,单一节点部署的方式已经无法满足需求,需要通过增加节点来线性扩展系统的负载和性能,因此系统架构也由原来的集中式架构向分布式架构转变。

分布式

分布式系统主要由以下几个特征:

  1. 分布性:分布式节点在空间上任意分布
  2. 对等性:节点没有主从之分。数据副本冗余数据,防止数据丢失,服务副本指多个节点提供相同服务,一个节点宕机,服务仍然可用
  3. 并发性
  4. 缺乏全局时钟:分布式系统很难定义事件的先后顺序
  5. 故障总是发生

分布式环境面临的主要问题:

  1. 通信异常:分布式系统需要各个节点之间相互通信,因此引入了网络这个不确定因素,一旦网络发生异常,通信将不再可用,同时网络延迟也增加了系统的响应时间
  2. 网络分区:假如网络发生异常,将会导致分布式系统的节点被划分为若干个小区域,区域内可以相互通信,但跨区域的通信将不可用。
  3. 三态:成功、失败和超时。当发生超时时,调用方将无法确定请求是否被正确处理
  4. 节点故障
分布式事务

在单机的数据库中,实现基于ACID的事务较为容易,但是系统一旦拆分为分布式,分布式事务将是一个巨大的挑战。

分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的节点,通常该事物会涉及对多个数据源和业务系统的操作。

CAP和BASE理论

为了构建一个兼顾可用性和一致性的分布式系统,诞生了CAP和BASE理论。

CAP理论

CAP理论:一个分布式系统不可能同时满足一致性、可用性和分区容错性,最多只能满足两个。

  1. 一致性:数据在多个副本中保持一致
  2. 可用性:系统提供的服务必须一直可用,对于用户的请求在有效的时间内给出正确的响应结果
  3. 分区容错性:分布式系统在遇到任何网络分区故障的时候,仍然要保证对外提供服务满足一致性和可用性。

在分布式系统中,分区容错性应该是必选的,然后再在一致性和可用性中寻求平衡。

BASE理论

BASE理论指的是:基本可用,软状态,最终一致性

  1. 基本可用:指的是当分布式节点发生故障时,允许损失部分可用性,如网络延迟增加,限流降级逻辑
  2. 软状态:允许系统中的数据存在中间状态,允许副本间的数据同步存在延迟
  3. 最终一致性:强调的系统中的副本数据,在经过一定的时间后,最终能够达到一致的状态
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员修炼笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分布式事务
  • CAP和BASE理论
    • CAP理论
      • BASE理论
      相关产品与服务
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档