9787302537816 9787111636625 9787111624127 9787302520412 9787111653615 9787121388354
基本信息
商品名:架构解密:从分布式到微服务(第2版)
ISBN:9787121388354
定价:89
出版社:电子工业出版社
作者:吴治辉
出版时间:2020-06-01
印刷时间:2020-06-01
包装:平装
用纸:胶版纸
编辑推荐
《Kubernetes□□指南》作者、Mycat发起人吴治辉新作。
对分布式、微服务、云原生、K8s、Service Mesh等发展脉络和原理进行深度解密。
不论你是有十几年研发经验及架构经验的IT老手,还是刚入门系统架构的IT新手,本书都能对你理解分布式架构和微服务架构大有助益。
□□章讲解分布式的基础——网络,对国际互联网、NIO、AIO、网络传输中的对象序列化问题、HTTP的前世今生、TCP/IP、从CDN到SD-WAN等知识进行深入讲解。
第2章讲解分布式系统的经典理论,涉及分布式系统的设计理念、一致性原理;ZooKeeper的使用场景;CAP理论的前世今生;BASE准则;分布式事务的原理。
第3章从RPC开始,讲解分布式服务治理框架的起源与原理,并讲解ZeroC Ice的原理和微服务架构实战。
第4~6章以专题形式讲解内存、分布式文件存储和分布式计算,对每个专题都讲解相关的重要理论、产品、开源项目及经验等。
第7章深入讲解全文检索与消息队列中间件的原理及用法。
第8章讲解以Kubernetes为代表的微服务架构解决了传统架构的哪些痛点;Service Mesh解决了微服务架构的哪些问题,以及如何理解它的原理和核心内容。
第9章分享作者的架构实践经验:公益项目wuhansun实践、身边购平台实践、DIY一个有难度的分布式集□。
《Kubernetes□□指南》作者龚正、《Offer来了》作者王磊、《可伸缩服务架构》《分布式服务架构》作者杨彪力赞!
内容简介
微服务、云原生、Kubernetes、Service Mesh是分布式领域的热点技术,它们并不是凭空出现的,一定继承了某些“前辈”的优点。我们不仅要了解这些技术,还要深入理解其发展脉络、原理等,才能游刃有余地将其用于现有的项目开发或老系统改造中。
本书总计9章。□□章讲解分布式的基础——网络,对国际互联网、NIO、AIO、网络传输中的对象序列化问题、HTTP的前世今生、TCP/IP、从CDN到SD-WAN等知识进行深入讲解。第2章讲解分布式系统的经典理论,涉及分布式系统的设计理念、一致性原理;ZooKeeper的使用场景;CAP理论的前世今生;BASE准则;分布式事务的原理。第3章从RPC开始,讲解分布式服务治理框架的起源与原理,并讲解ZeroC Ice的原理和微服务架构实战。第4~6章以专题形式讲解内存、分布式文件存储和分布式计算,对每个专题都讲解相关的重要理论、产品、开源项目及经验等。第7章深入讲解全文检索与消息队列中间件的原理及用法。第8章讲解以Kubernetes为代表的微服务架构解决了传统架构的哪些痛点;Service Mesh解决了微服务架构的哪些问题,以及如何理解它的原理和核心内容。第9章分享作者的架构实践经验。
不论你是有十几年研发经验及架构经验的IT老手,还是刚入门系统架构的IT新手,本书都能对你理解分布式架构和微服务架构大有助益。
目录
□□章 深入理解网络 1
1.1 从国际互联网开始 1
1.2 NIO,一本难念的经 7
1.2.1 难懂的ByteBuffer 7
1.2.2 晦涩的“非阻塞” 15
1.2.3 复杂的Reactor模型 18
1.3 AIO,大道至简的设计与苦涩的现实 21
1.4 网络传输中的对象序列化问题 26
1.5 HTTP的前世今生 30
1.5.1 HTTP的设计思路 31
1.5.2 HTTP如何保持状态 32
1.5.3 Session的秘密 34
1.5.4 再谈Token 36
1.5.5 分布式Session 39
1.5.6 HTTP与Service Mesh 40
1.6 分布式系统的基石:TCP/IP 42
1.7 从CDN到SD-WAN 45
1.7.1 互联互不通的运营商网络 45
1.7.2 双线机房的出现 45
1.7.3 CDN的作用 46
1.7.4 SD-WAN技术的诞生 47
第2章 分布式系统的经典理论 48
2.1 从分布式系统的设计理念说起 48
2.2 分布式系统的一致性原理 50
2.3 分布式系统的基石之ZooKeeper 53
2.3.1 ZooKeeper的原理与功能 53
2.3.2 ZooKeeper的应用场景案例分析 57
2.4 经典的CAP理论 61
2.5 BASE准则,一个影响深远的指导思想 63
2.6 重新认识分布式事务 64
2.6.1 数据库单机事务的实现原理 64
2.6.2 经典的X/OpenDTP事务模型 66
2.6.3 互联网中的分布式事务解决方案 68
第3章 聊聊RPC 73
3.1 从IPC通信说起 73
3.2 古老又有生命力的RPC 75
3.3 从RPC到服务治理框架 81
3.4 基于ZeroC Ice的微服务架构指南 84
3.4.1 ZeroC Ice的前世今生 84
3.4.2 ZeroC Ice微服务架构指南 86
3.4.3 微服务架构概述 93
第4章 深入浅析内存 99
4.1 你所不知道的内存知识 99
4.1.1 复杂的CPU与单纯的内存 99
4.1.2 多核CPU与内存共享问题 101
4.1.3 著名的Cache伪共享问题 105
4.1.4 深入理解不一致性内存 107
4.2 内存计算技术的前世今生 110
4.3 内存缓存技术分析 115
4.3.1 缓存概述 115
4.3.2 缓存实现的几种方式 117
4.3.3 Memcache的内存管理技术 119
4.3.4 Redis的独特之处 121
4.4 内存计算产品分析 122
4.4.1 SAP HANA 123
4.4.2 Hazelcast 125
4.4.3 VoltDB 127
第5章 深入解析分布式文件存储 130
5.1 数据存储进化史 130
5.2 经典的网络文件系统NFS 137
5.3 高性能计算领域的分布式文件系统 140
5.4 企业级分布式文件系统GlusterFS 142
5.5 创新的Linux分布式存储系统——Ceph 145
5.6 星际文件系统IPFS 151
5.7 软件定义存储 155
第6章 聊聊分布式计算 161
6.1 不得不说的Actor模型 161
6.2 Actor原理与实践 165
6.3 初识Akka 172
6.4 适用面很广的Storm 179
6.5 MapReduce及其引发的新世界 187
第7章 全文检索与消息队列中间件 194
7.1 全文检索 194
7.1.1 Lucene 195
7.1.2 Solr 199
7.1.3 ElasticSearch 202
7.2 消息队列 210
7.2.1 JEE专属的JMS 214
7.2.2 生生不息的ActiveMQ 219
7.2.3 RabbitMQ 223
7.2.4 Kafka 230
第8章 微服务架构 236
8.1 微服务架构概述 236
8.1.1 微服务架构兴起的原因 237
8.1.2 不得不提的容器技术 238
8.1.3 如何全面理解微服务架构 241
8.2 几种常见的微服务架构方案 245
8.2.1 ZeroC IceGrid微服务架构 245
8.2.2 Spring Cloud微服务架构 248
8.2.3 基于消息队列的微服务架构 250
8.2.4 Docker Swarm微服务架构 251
8.3 深入Kubernetes微服务平台 253
8.3.1 Kubernetes的概念与功能 253
8.3.2 Kubernetes的组成与原理 258
8.3.3 基于Kubernetes的PaaS平台 262
8.4 从微服务到Service Mesh 280
8.4.1 Service Mesh之再见架构 280
8.4.2 Envoy核心实践入门 282
8.4.3 Istio背后的技术 286
8.4.4 Istio的架构演变 293
第9章 架构实践 297
9.1 公益项目wuhansun实践 297
9.2 身边购平台实践 306
9.3 DIY一个有难度的分布式集群 312
作者简介
吴治辉
HPE资深架构师,拥有近20年软件研发经验,专注于电信软件和云计算方面的软件研发,拥有丰富的大型项目架构设计经验,是业界少有的具备很强Coding能力的资深架构师,也是《ZeroC Ice□□指南》《Kubernetes□□指南》《区块链轻松上手》等书作者。
精彩书评
以Kubernetes为核心的容器技术正在被大多数企业接受,业务系统开发也在逐渐向微服务化架构演进,如何对大规模企业级应用系统进行科学、先进的架构设计,成为系统架构师的主要挑战。
本书集理论与实践于一身,对网络通信、RPC、内存、文件系统、计算、消息队列等核心分布式架构组件进行详细介绍,对分布式架构理论和先进的微服务架构进行阐述,同时将作者多年的大型企业级IT系统架构经验与真实应用案例相结合,对架构设计进行深度解密。本书深入浅出、图文并茂,是系统架构师不可多得的专业参考书。
——龚正 《Kubernetes□□指南》作者、HPE高级顾问
分布式架构和微服务架构是互联网架构的核心。我们通常理解分布式架构都是从常用的分布式软件开始的,比如Spring Cloud、Kafka、ZooKeeper、HBase等,这些都离不开分布式网络架构、分布式存储和分布式计算等基础理论。本书从更高的视角看待分布式架构,为我们详细阐述了分布式架构的底层原理和设计思路,以及操作系统的底层原理,具体知识点包括分布式网络架构、一致性理论、RPC、内存、分布式文件、消息中间件和微服务架构等,是互联网开发与设计方面的优秀参考书。
——王磊 《Offer来了》作者
本书凝聚了吴治辉老师的多年架构经验,内容覆盖网络、分布式、微服务、存储、计算等。它深入浅出地讲解了云原生、Kubernetes和Service Mesh等热门技术,并详细剖析其原理,值得每个IT人士阅读。
——杨彪 《可伸缩服务架构》《分布式服务架构》作者、美团高级架构师
基本信息
书名: 分布式微服务架构:原理与实战
出版社: 清华大学出版社
出版日期 2019
ISBN号: 9787302537816
定价:89
图书简介
随着互联网技术的发展,系统架构由单体架构、垂直MVC架构、SOA服务化、分布式服务演变到分布式微服务架构,这是互联网企业架构的必经之路。分布式微服务架构涵盖的技术面广,知识点多。本书旨在让更多计算机从业者熟悉一个完整的分布式微服务架构所涉及的基础概念、涵盖的技术以及实战开发。
本书蕴含的知识体系甚广,第1~2章主要讲解架构是如何向前演化发展的以及阅读本书之前需要准备的环境。第3~5章主要讲解服务之间的RPC调用、通信协议等。第6~7章主要讲解服务路由以及服务注册中心的原理和实践。第8章主要讲解服务调用。第9章主要讲解服务容器化以及如何部署和发布服务。第10~11章主要讲解服务限流、降级、容错以及熔断等技术。第12~13章主要讲解如何搭建服务日志和监控体系。第15章主要讲解配置中心的原理以及如何搭建配置中心。第16章主要讲解分布式数据库、分布式缓存、分布式事务、分布式Session以及服务如何通过Kafka解耦。第17章主要讲解微服务如何测试。第18章主要讲解目前主流的分布式微服务架构案例。
本书适用于所有Java编程语言开发人员、分布式微服务架构爱好者以及计算机的学生等。
黄文毅,CSDN博客专家,CSDN学院、网易学院和腾讯学院等网络学院讲师。曾就职于厦门星耀蓝图科技有限公司(为浦发银行、兴业银行、南京银行、湖南农信银行等银行开发系统)和上海美团(从事美团和大众点评后端开发工作),目前就职于厦门美图科技有限公司,从事美图秀秀和美拍后端开发工作。
本书是一本关于分布式服务架构的专著,采用Intellij IDEA新版本进行概念讲解与代码开发。
分布式服务架构是大型互联网公司采用的架构。本书依托工作实践,结合大量案例全方位剖析了分布式服务框架的设计原则和原理,涵盖服务架构演进、服务注册、服务路由、服务治理、服务限流、服务降级与容错等内容;同时,对基于Docker部署微服务和基于微服务架构开发、部署及运维业务系统进行了详细的论述。
本书注重理论与实战相结合,涵盖分布式服务架构开发中常用的知识点,内容详尽,代码可读性及可操作性强。在概念讲解上尽可能通俗易懂,避免艰深。在内容编排上,力图使各章节有机结合起来,给读者一个完整的分布式服务的架构蓝图。
本书主要面向架构师、设计师、软件开发工程师、测试开发工程师以及对互联网分布式架构感兴趣的相关人士阅读。
目录
第1章 从架构演进启程 1
1.1 水平分层架构 1
1.1.1 应用架构概述 1
1.1.2 MVC架构/水平分层架构 2
1.2 SOA服务化架构 3
1.2.1 SOA概述 4
1.2.2 SOA的特征 4
1.2.3 SOA面临的问题 5
1.3 分布式微服务架构 5
1.3.1 微服务概述 5
1.3.2 SOA与微服务 5
1.3.3 微服务架构的特点 6
1.3.4 微服务架构的缺点 6
1.3.5 微服务架构全景图 7
1.3.6 微服务类型 8
1.3.7 微服务拆分原则与步骤 9
第2章 微服务开发框架 11
2.1 环境准备 11
2.1.1 安装JDK 11
2.1.2 安装 Intellij IDEA 14
2.1.3 安装 Apache Maven 14
2.2 一分钟快速搭建Spring Boot项目 15
2.2.1 使用Spring Initializr新建项目 15
2.2.2 测试 18
2.3 Spring Boot简单介绍 18
2.3.1 Spring Boot核心功能及特性 19
2.3.2 Spring Boot的缺点 20
2.4 Spring Boot目录介绍 20
2.4.1 Spring Boot工程目录 20
2.4.2 Spring Boot入口类 21
2.4.3 Spring Boot测试类 22
2.4.4 pom文件 23
2.5 Spring Boot生产级特性 24
2.5.1 应用监控 24
2.5.2 健康检查 28
2.5.3 跨域访问 29
2.5.4 外部配置 30
第3章 分布式RPC框架 31
3.1 RPC框架概述 31
3.1.1 RPC的定义 31
3.1.2 RPC核心组件 31
3.1.3 RPC调用过程 32
3.1.4 RPC框架调用分类 33
3.1.5 RPC框架性能 35
3.1.6 RPC框架与分布式服务框架 35
3.2 RPC框架 36
3.2.1 RMI远程方法调用 36
3.2.2 Thrift 37
3.2.3 Hessian 38
3.2.4 Avro-RPC 38
3.2.5 gRPC 38
3.2.6 其他RPC框架 39
第4章 序列化与反序列化 40
4.1 序列化与反序列化 40
4.1.1 序列化/反序列化概念 40
4.1.2 序列化/反序列化特性 41
4.2 常用序列化框架 41
4.2.1 Java默认序列化 41
4.2.2 XML序列化框架 46
4.2.3 JSON序列化框架 48
4.2.4 ProtoBuf序列化框架 50