推荐一本系统设计与架构神书~

如果你在写业务代码

如果你在设计分布式的系统

如果你系统里用了消息队列、数据库、缓存等组件

如果....

你就没有觉得上面的场景,最终都会「殊途同归」呢?

提起「分布式」这个笼统的概念,虽然听着火热,但多少让人有些距离,似乎离我们非中间件工程师的工作比较远。但实际上,在今天应用部署在一台机器上的单体应用少之又少了吧。

取而代之的是,多实例,微服务,大量的数据、缓存需要对数据复制、分区存储。甚至数据库存储数据太多,需要分库分表,主从复制进读写区分,以及像消息队列、缓存服务、分布式的DB、KV等等,都会遇到类似的问题。这些应用被统称为「数据密集型应用」。

业务系统,在用户上涨,数据无法由单独的服务或存储完成时;设计的分布式系统,要解决主从节点数据复制时;使用的消息队列、缓存组件在增减机器扩缩容的时候,这个时候我们发现,问题都变成了怎样更好的设计「数据密集型」系统

我们设计系统面对的都是保证系统的稳定性可扩展性可维护性。写数据的时候,为了数据不丢失,备份到多个节点上,在复制和分区的时候,要是同步复制还是要异步复制,要怎么样尽快的响应客户端提示写入完成;主从节点间如何达成「共识」,心跳时间的设计考虑;增加了机器,数据如何分区才能让资源更有效使用,同时不迁移大量的旧数据;读写请求要怎样做到线性一致性,避免有人看到新内容,都在「吃瓜」了,身边的另一些人迟迟刷不到新结果。

咱们之前发过不少分布式相关的文章,像

什么是分布式系统,如何学习分布式系统

图解分布式一致性算法

分布式系统的本质就这两个问题

可能是讲分布式系统最到位的一篇文章

分布式系统的本质就这两个问题

阿里如何抗住双 11 ?服务端高并发架构演进之路

而分布式领域技术众多,这些文章限于篇幅和经验,可能仅让人看到了「分布式」领域的冰山一角、万分之一。直接去读像Google的三驾马车那些经验的论文,又多少不接地气。

谈系统设计、架构以及分布式技术的书籍很多,各有特色。如果这些书籍中只能推荐一本的话,就是我今天提到的这本。我们今天推荐的这本书『Designing Data-Intensive Applications』,简称为 DDIA,中文书名是『设计数据密集型应用』。书很是经典,亚马逊五星好评,豆瓣评分10分,简直是神书。

微软的CTO说:「这是一本软件工程师的必读之书,是能够连接理论和实践的稀有资料,能够帮忙开发者在设计和实现数据基础设施和系统的时候做出明智的决策」。

Kafka创始人说,「它在分布式系统理论和实际工程之间的巨大鸿沟上架起了一座桥梁」。

绝对会让你对分布式、数据的设计与架构理解更深入和更系统,更上一层楼。

图片来源于DDIA书籍第一章

一般系统的设计架构会和上图基本类似,这其中就会遇到不少上面提到的数据密集型应用的问题,这些在书中都会分几个部分来讲述遇到的问题,以及设计时如何思考。

铛铛,书来了

书籍的影印版出版社是「东南大学出版社」。 感谢东南大学出版社,本次赞助了本公众号 5本 。PS: 影印版是英文版哦

感谢各位读者长期以来的支持,这些书籍将做为本次公众号抽奖的奖品,全部送出。当然迫不及待的朋友先点击下面的链接购买 后续还会继续有其他的送书活动,敬请期待。

本次公众号抽奖结果,会在一周后(12.16)自动开奖。后台回复「抽奖」,后台回复,后台回复,按提示参与。本次抽奖仅限公众号读者

说明:书籍为英文原版影印版,邮费自理

更多常见问题,请关注公众号,在菜单「常见问题」中查看。

源码|实战|成长|职场

这里是「Tomcat那些事儿」

请留下你的足迹

我们一起「终身成长」

识别二维码,关注我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值