架构解密:从分布式到微服务
  • 推荐0
  • 收藏4
  • 浏览1.3K

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

吴治辉 (作者) 

  • 书  号:978-7-121-31562-6
  • 出版日期:2017-06-29
  • 页  数:300
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:张国霞
纸质版 ¥79.00
分布式架构与微服务平台是当今IT界的关键技术,也是资深软件工程师和系统架构师必须掌握的核心技术。本书以从传统分布式架构迁移到基于容器技术的微服务架构为主线,全面、透彻地介绍了与分布式架构及微服务相关的知识和技术。本书一开始并没有提及分布式的枯燥理论,而是讲述了一段精彩的IT发展史,其中重点讲述了大型机、UNIX小机器的没落与X86平台的崛起,从而巧妙地引出CPU、内存、网络、存储的分布式演进过程,这恰恰是分布式软件系统赖以运行的“物质基础”。然后简明扼要地介绍了进行系统架构所必需的网络基础,并详细介绍了分布式系统中的经典理论、设计套路及RPC通信,对内存、SOA架构、分布式存储、分布式计算等进行了深度解析,最后详细介绍了全文检索与消息队列中间件,以及微服务架构所涉及的重点内容。
本书是Leader-us多年架构经验的倾情分享,主要面向关注分布式架构及微服务,以及有志于成为实力派架构师的IT人士。
历经三年终出版!从你想了解的源码、理论、经验、视野等维度,对从分布式到微服务,进行架构解密!
Microservices、Kubernetes、SOA、Distribute Memory、ElasticSearch、Kafka、CAP、NUMA、SOA、GlusterFS、Actor、Akka、RabbitMQ、Spring Cloud、ZeroC Ice……
Leader-us
本名吴治辉,惠普资深软件架构师,国内知名开源分布式数据库中间件 Mycat的发起人,精通Java编程,拥有超过16年软件研发经验,专注于电信和云计算方面的软件研发,参与过众多分布式与云计算相关的大型项目架构设计和 Coding,是业界少有的具备很强 Coding 能力的 S级资深架构师;曾经选拔和培养了大批优秀Java工程师,他们中的大多数人进入知名软件公司参与核心研发,也有一些人选择创业。
Leader-us 也是《ZeroC Ice 权威指南》《Kubernetes 权威指南:从 Docker到 Kubernetes 实践全接触》的作者。
前言
写给像笔者的你
我们都是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
2017年5月31日

目录

第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

本书勘误

印次
  • 页码:246  •  行数:13  •  印次: 6

    几十年应改为十几年

    warestar 提交于 2018/11/22 22:13:47
    张国霞 确认于 2018/11/30 15:37:13

读者评论

  • 怎么下载示例代码资源。

    final发表于 2017/7/30 10:09:54
    • 本书不提供代码资源下载,多谢!

      张国霞发表于 2017/8/17 11:24:29

相关博文

  • 4个你未必知道的内存小知识

    4个你未必知道的内存小知识

    管理员账号 2017-07-24

    小编说:除了CPU,内存大概是最重要的计算资源了。基本成为分布式系统标配的缓存中间件、高性能的数据处理系统及当前流行的大数据平台,都离不开对计算机内存的深入理解与巧妙使用。本文将探索这个让人感到熟悉又复杂的领域。本文选自《架构解密:从...

    管理员账号 2017-07-24
    607 0 0 0
  • 几种常见的微服务架构方案简述——ZeroC IceGrid、Spring Cloud、基于消息队列

    几种常见的微服务架构方案简述——ZeroC IceGrid、Spring Cloud、基于消息队列

    管理员账号 2017-07-26

    微服务架构是当前很热门的一个概念,它不是凭空产生的,是技术发展的必然结果。虽然微服务架构没有公认的技术标准和规范草案,但业界已经有一些很有影响力的开源微服务架构平台,架构师可以根据公司的技术实力并结合项目的特点来选择某个合适的微服务架...

    管理员账号 2017-07-26
    14936 0 0 0
  • NIO,一本难念的经——分布式系统基础

    NIO,一本难念的经——分布式系统基础

    管理员账号 2017-09-20

    小编说:如果没有网络,就没有所谓的分布式系统,但有趣的是,我们中的大多数软件工程师和系统架构师,甚至于公司里最强的技术达人,都缺乏必要的网络知识和技能,也很少有人真正重视它们。今天我们就从NIO开始,完善一下我们的网络知识。 我们...

    管理员账号 2017-09-20
    1099 0 1 0