Design Data-Intensive Applications 读书笔记 一

前言

此系列文章主要翻译自书籍《Design Data-Intensive Application》。这本书的主要目的是探讨思考如何思考数据系统的方法,那些系统是如何设计的,为什么这么设计,以及其中解决的问题。现在数据是系统的核心,这本书可以帮助我们如何设计好的数据系统,也可以解答我们对其他数据系统如何设计的好奇。

第一部分 数据系统的基础

第一章 可用、可扩展、可维护

可靠性

软件满足可靠性要做到以下几点:

  1. 应用按照用户预想的那样工作
  2. 在预期的数据量和负载下,性能足够好
  3. 阻止未认证的接入和使用

这些组合起来就是“正确地工作”。那么我们可以将“可靠性”理解为“即便事情出错,也能一直正确地工作”。

事情出错,我们可以称之为“故障”,系统能够处理这些故障,那么它们就是由弹性的。并不是所有的故障都要考虑,比如地球突然毁灭,需要把服务器放到太空中备份。我们只需要考虑一些特定的故障。

硬件故障

添加备份硬件,系统要能接受整台机器的丢失。

软件错误

很难遇见,一般是节点间系统性的错误。

软件故障经常会沉睡一段时间,环境变化后才会触发。

没有快速解决的方法,一些建议:仔细思考假设场景和交互;进程隔离;允许进程停止和重启;测量、监控和分析生产系统的行为;如果一个系统需要提供保障(比如一个消息队列,入站消息数要等于出站消息数),那么要求它能够在运行时持续监测自己,并在出现矛盾时发出警告。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值