《分布式系统关注点——数据一致性(上篇)》阅读笔记

  所谓每个事物都是矛盾统一的结合体,都具有两面性。分布式系统再带来了前面提到的好处的同时,也带来了业界普遍认为最大的问题 —— 数据一致性问题。

系统是给人用的,构成使用场景的概念叫业务。业务是核心,对一个系统来说,业务的发展归根到底是建立在数据之上的。我可以慢、可以宕机、可以搞得很复杂,这些都能忍,但唯独不能忍的就是数据问题,数据错误、数据不一致等等。

分布式就意味着分治与协作,一件事一个人只负责一部分。生活中这样的例子也无处不在,就拿举办一个Party来说:一部分人去准备吃的,一部分人去准备喝的,一部分人去准备场地布置。这些事情大家都可以同时进行,但是任一环节掉链子了,或者说不符合Party主题的话,都是失败的。

这里的4个操作以目标来看,其实先后顺序并不重要,重要的是要么都成功,要么都失败,其中任意一个程序不一致那么就会出问题。

那么是什么原因导致了数据不一致的产生呢?一是程序设计问题,或者说代码写错了。这点很好理解,也很容易想到解决方案,多做测试,验证是否符合预期咯。常见的单元测试、接口测试、自动化测试、集成测试等等都是为了更具性价比的将BUG降低到无限接近于0,也造就了“测试工程师”这个岗位更大的作用。

但是,假设真的没有BUG,但还是会产生数据不一致,因为软件是运行在硬件之上的,所以还有硬件的因素存在。并且对我们这里的大部分人来说,硬件相比软件,我们的掌控力更弱。这其中,最为严重的属网络问题,网络相比其它的来说是一个更大、更复杂的组织,未知性会随着局域网、广域网这样范围越大越严重。想象一下,每一台主机仅仅是一张大网中的一个渺小的连接点,它所承载的链接越多越容易出现问题。

转载于:https://www.cnblogs.com/lzq666/p/11046444.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值