架构解密:从分布式到微服务

网站

更多书籍点击进入>> CiCi岛

下载

电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍

  • 电子书下载(皮皮云盘-点击“普通下载”)
  • 购买正版

封页

架构解密:从分布式到微服务_第1张图片

编辑推荐

历时三年终到稿,还未读完初稿,就知道这将是一本畅销书。 从传统分布式架构迁移到基于容器技术的微服务架构,这本就是百谈不厌的话题。 更别提内容涉及Microservices、Kubernetes、SOA、Distribute Memory、ElasticSearch、Kafka、CAP、NUMA、SOA、GlusterFS、Actor、Akka、RabbitMQ、Spring Cloud、ZeroC Ice…… Leader-us的文字还是那样充满IT情怀和抱负,也一如既往地流畅和通俗易懂。 Ó 一个很复杂的问题,经过Leader-us一个调侃就变得简单化。 Ó 一个看似很简单的问题,Leader-us却总能深入到幕后,包括独一无二的数据和原理讲解,一手的资料啊有木有,世上难买啊有木有,很珍贵啊有木有! Leader-us调侃道:“这是一本代码级吹水架构师必备读物,从此360°无死角吹水,绝地反击,打败纯吹水派架构师”,让我们拭目以待。

内容简介

分布式架构与微服务平台是当今IT界的关键技术,也是资深软件工程师和系统架构师必须掌握的核心技术。本书以从传统分布式架构迁移到基于容器技术的微服务架构为主线,全面、透彻地介绍了与分布式架构及微服务相关的知识和技术。本书一开始并没有提及分布式的枯燥理论,而是讲述了一段精彩的IT发展史,其中重点讲述了大型机、UNIX小机器的没落与X86平台的崛起,从而巧妙地引出CPU、内存、网络、存储的分布式演进过程,这恰恰是分布式软件系统赖以运行的“物质基础”。然后简明扼要地介绍了进行系统架构所必需的网络基础,并详细介绍了分布式系统中的经典理论、设计套路及RPC通信,对内存、SOA架构、分布式存储、分布式计算等进行了深度解析,*后详细介绍了全文检索与消息队列中间件,以及微服务架构所涉及的重点内容。 本书是Leader-us多年架构经验的倾情分享,主要面向关注分布式架构及微服务,以及有志于成为实力派架构师的IT人士。

作者简介

Leader-us 本名吴治辉,惠普资深软件架构师,国内知名开源分布式数据库中间件 Mycat的发起人,精通Java编程,拥有超过16年软件研发经验,专注于电信和云计算方面的软件研发,参与过众多分布式与云计算相关的大型项目架构设计和 Coding,是业界少有的具备很强 Coding 能力的 S级资深架构师;曾经选拔和培养了大批优秀Java工程师,他们中的大多数人进入知名软件公司参与核心研发,也有一些人选择创业。 Leader-us 也是《ZeroC Ice 权威指南》《Kubernetes 权威指南:从 Docker到 Kubernetes 实践全接触》的作者。

目 录

第1章 大话分布式系统 1
1.1 IT争霸战 1
1.1.1 划时代的第一台计算机 1
1.1.2 IT界的恐龙时代 4
1.1.3 贵族的没落与平民的胜利 6
1.1.4 ARM新贵的爆发 10
1.1.5 超级计算机的绝地反击 11
1.2 分布式系统的开国元勋 13
1.3 分布式系统的基石:TCP/IP 17
1.4 从无奈到崛起的CDN网 19
1.5 这是一个最好的时代 21
第2章 “知识木桶”中的短板—— 网络基础 23
2.1 即使高手也不大懂的网络 23
2.2 NIO,一本难念的经 30
2.2.1 难懂的ByteBuffer 30
2.2.2 晦涩的“非阻塞” 39
2.2.3 复杂的Reactor模型 41
2.3 AIO,大道至简的设计与苦涩的现实 45
2.4 网络传输中的对象序列化问题 50
第3章 分布式系统的经典基础理论 55
3.1 从分布式系统的设计理念说起 55
3.2 分布式系统的一致性原理 58
3.3 分布式系统的基石之ZooKeeper 61
3.3.1 ZooKeeper的原理与功能 61
3.3.2 ZooKeeper的场景案例分析 65
3.4 经典的CA理论 69
3.5 BASE准则,一个影响深远的指导思想 72
3.6 重新认识分布式事务 73
3.6.1 数据库单机事务的实现原理 73
3.6.2 经典的X/OpenDTP事务模型 75
3.6.3 互联网中的分布式事务解决方案 78
第4章 聊聊RPC 83
4.1 从IPC通信说起 83
4.2 古老又有生命力的RPC 85
4.3 从RPC到服务治理框架 91
4.4 基于ZeroC Ice的微服务架构指南 94
4.4.1 微服务架构概述 95
4.4.2 ZeroC Ice微服务架构指南 100
第5章 深入浅析内存 107
5.1 你所不知道的内存知识 107
5.1.1 复杂的CPU与单纯的内存 107
5.1.2 多核CPU与内存共享的问题 110
5.1.3 著名的Cache伪共享问题 113
5.1.4 深入理解不一致性内存 115
5.2 内存计算技术的前世今生 118
5.3 内存缓存技术分析 123
5.3.1 缓存概述 123
5.3.2 缓存实现的几种方式 125
5.3.3 学习Memcache的内存管理技术 127
5.3.4 Redis的独特之处 129
5.4 内存计算产品分析 131
5.4.1 SAP HANA 131
5.4.2 Hazelcast 133
5.4.3 VoltDB 135
第6章 深入解析分布式存储 138
6.1 数据存储进化史 138
6.2 经典的网络文件系统NFS 145
6.3 高性能计算领域的分布式文件系统 148
6.4 企业级分布式文件系统GlusterFS 150
6.5 创新的Linux分布式存储系统—— Ceph 153
6.6 软件定义存储 160
第7章 聊聊分布式计算 166
7.1 不得不说的Actor模型 166
7.2 Actor原理与实践 170
7.3 初识Akka 177
7.4 适用面很广的Storm 185
7.5 MapReduce及其引发的新世界 194
第8章 全文检索与消息队列中间件 201
8.1 全文检索 201
8.1.1 什么是全文检索 201
8.1.2 起于Lucene 202
8.1.3 Solr 206
8.1.4 ElasticSearch 209
8.2 消息队列 217
8.2.1 消息队列概述 217
8.2.2 JEE专属的JMS 221
8.2.3 生生不息的ActiveMQ 226
8.2.4 RabbitMQ 231
8.2.5 Kafka 238
第9章 微服务架构 244
9.1 微服务架构概述 244
9.1.1 微服务架构兴起的原因 244
9.1.2 不得不提的容器技术 246
9.1.3 如何全面理解微服务架构 249
9.2 几种常见的微服务架构方案 253
9.2.1 ZeroC IceGrid微服务架构 253
9.2.2 Spring Cloud微服务架构 256
9.2.3 基于消息队列的微服务架构 259
9.2.4 Docker Swarm微服务架构 261
9.3 深入Kubernetes微服务平台 263
9.3.1 Kubernetes的概念与功能 263
9.3.2 Kubernetes的组成与原理 268
9.3.3 基于Kubernetes的PaaS平台 272

前 言

写给像笔者的你 

我们都是IT人,所以,我们注定了很像。

我们可能小时候都挺聪明,学习也挺好,也早恋(可能纯洁度不同)。这一切都是有关联的,因为早恋所以你写情书,所以你有了点文采,又所以喜欢读笔者的文字,于是,你成了笔者的第1个读者,虽然我们分布在不同的机房中。

我们因为都受过严格、系统的全面教育,所以骨子里是温顺的,性格上是温柔的。我们因为在智商上高于情商的概率是99%,所以多年独占风云榜之状元称谓——呆。我们一起努力的结果,是验证了那句话——科学无国界。在《生活大爆炸》《IT狂人》等热播美剧中,我们终于找到祖国之外的同类,于是我们开始自恋地打广告:我很呆但我很幽默。

不知道女友要什么东西啊,分手了才知道人家暗示了那么多次自己都不懂啊!

我们都是高学历的概率是99%,我们都近视的概率是99%,我们未富先胖的概率是99%,我们未老先白头的概率是99%,我们目前在北上广或者未来在北上广的概率是99%,我们背井离乡的概率是99%,我们的计算机内存超过4GB的概率是99%,我们喜欢新计算机胜过于喜欢新女友的概率是99%

我们曾经是众人眼中的宠儿,但不知从何时起,沦落为新一代的农民工。在《死神来了之中国*版》里,每年都有几个IT精英注定被永远地带走,我们在默默悲伤的同时,心里也在默默祈祷:O My God,让我活到82岁吧,就算没有28岁的小娇妻。

我们听过*多的公司是微软,我们*离不开的品牌是Windows,虽然对于它们的评价,我们无法达成一致;同样,对于马云及乔布斯,我们也有着不同的评价,虽然他们缔造的帝国对我们的生活都产生了重要影响。

*后也是*重要的一点,我们都生活在一个有意思的时代,这个时代无法用任何哲学理论来左右我们的思想和行为。金钱向左,理想朝右,我们始终不放弃一个宏伟梦想:寻找*秀的算法,收获金钱,实现理想。

吐槽归吐槽,言归正传,笔者假设你跟笔者一样是个有为青年,目标是成为IT精英,目前烦透了信息系统、Web及低水平的重复编码工作,打算进阶架构师队伍,并下定决心潜心修行一年半载,脱掉程序猿的旧外套,换上土豪金IT新人套装,那么,请你准备如下软硬件,开始和笔者一起,探秘分布式架构的奥义,走向云端

  • 8GB内存的计算机一台,4GB勉强过关。
  • 计算机保持联网,遇到问题能随时谷歌
  • 笔者的QQ号码,该号码在本书某个DEMO的代码中。
  • Eclipse或你熟悉的Java开发工具。

除此之外,更重要的是以下几点。

  • 不求快,但求坚持到底,系统学习比局部掌握更重要。
  • 不怕错,就怕蒙混过关,尝试和出错是学编程的王者之道。
  • 不怕动手,就怕只动眼,原理与实践都重要,技术都是实践和总结出来的。

 

Leader-us

2017531

你可能感兴趣的:(架构解密:从分布式到微服务)