设为首页 加入收藏

TOP

可靠的、可扩展的、可维护的数据系统 ------《Designing Data-Intensive Applications》读书笔记1(二)
2019-09-17 19:06:17 】 浏览:258
Tags:可靠 扩展 维护 数据 系统 ------ Designing Data-Intensive Applications 读书 笔记
er将这两种方法混合。大多数用户的推文在发布时仍然会被扩展到Tweet缓存之中,但只有少数用户拥有大量的关注者(即名人)。用户可以跟踪的任何名人的Tweet,并单独读取并与用户的Tweet缓存中进行合并。这种混合方法能够始终如一地提供良好的性能。

这个例子很精炼的描述了架构设计的妥协与精妙,依据业务特点,最大化的优化了数据系统的性能。很佩服Twitter的工程师在架构设计上的功力。同时也很好奇如微博,微信是不是也是采用类似的架构进行设计。

  • 怎么扩展
    放大(垂直缩放,移动到更强大的机器)和缩放(横向缩放,在多台更小的机器上分配负载)之间的二选一。实际上,好的架构通常涉及到一种实用的混合方法:例如,使用几个功能强大的机器仍然比大量的小型虚拟机更简单、更便宜。无节制的分布式会给系统混入复杂度,这是软件工程中危险的地方,虽然在多台机器上分发无状态服务相当简单,但将有状态数据系统从单个节点转移到分布式安装程序会带来许多额外的复杂性。
    没有这样的东西,一个通用的,一个适合所有的应用的可伸缩的架构。(写的真好

(3)可维护性

这部分教导了一些构建可维护系统的方法。软件的大部分成本不是在最初的开发中,而是在持续的维护中修复bug、保持系统运行、使其适应新业务、添加新特性。

  • 可操作性
    让操作运维团队保持系统运行的顺利。

  • 简单
    让新工程师很容易理解系统,通过尽可能地从系统中删除尽可能多的复杂性。

  • 可进化性
    让工程师很容易在将来对系统进行更改,以适应需求变化时的意料之外的用例。也被称为可扩展性、可修改性、可塑性。

维护别人留下的烂摊子真的是很痛苦的事情,文档,注释真的是重中之重!!!

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇使用docker+consul+nginx集成分布.. 下一篇java 进销存 商户管理 系统 管理 ..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目