登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

『簡體書』分布式微服务架构:原理与实战

書城自編碼: 3429400
分類: 簡體書→大陸圖書→計算機/網絡網絡與數據通信
作者: 黄文毅
國際書號(ISBN): 9787302537816
出版社: 清华大学出版社
出版日期: 2019-11-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:NT$ 561

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
创客精选项目设计与制作 第2版   刘笑笑 颜志勇 严国陶
《 创客精选项目设计与制作 第2版 刘笑笑 颜志勇 严国陶 》

售價:NT$ 281.0
佛山华家班粤菜传承 华家班59位大厨 102道粤菜 图文并茂 菜式制作视频 粤菜故事技法 佛山传统文化 广东科技
《 佛山华家班粤菜传承 华家班59位大厨 102道粤菜 图文并茂 菜式制作视频 粤菜故事技法 佛山传统文化 广东科技 》

售價:NT$ 1010.0
武人琴音(十周年纪念版 逝去的武林系列收官之作 形意拳一门三代:尚云祥、韩伯言、韩瑜的人生故事 凸显百年武人命运)
《 武人琴音(十周年纪念版 逝去的武林系列收官之作 形意拳一门三代:尚云祥、韩伯言、韩瑜的人生故事 凸显百年武人命运) 》

售價:NT$ 199.0
剑桥斯堪的纳维亚戏剧史(剑桥世界戏剧史译丛)
《 剑桥斯堪的纳维亚戏剧史(剑桥世界戏剧史译丛) 》

售價:NT$ 704.0
禅心与箭术:过松弛而有力的生活(乔布斯精神导师、世界禅者——铃木大拙荐)
《 禅心与箭术:过松弛而有力的生活(乔布斯精神导师、世界禅者——铃木大拙荐) 》

售價:NT$ 301.0
先进电磁屏蔽材料——基础、性能与应用
《 先进电磁屏蔽材料——基础、性能与应用 》

售價:NT$ 1010.0
可转债投资实战
《 可转债投资实战 》

售價:NT$ 454.0
王氏之死(新版,史景迁成名作)
《 王氏之死(新版,史景迁成名作) 》

售價:NT$ 250.0

建議一齊購買:

+

NT$ 498
《 架构修炼之道——亿级网关、平台开放、分布式、微服务、容错等核心技术修炼实践 》
+

NT$ 654
《 Spring Boot实战派 》
+

NT$ 523
《 Cisco IPSec VPN实战指南(“现任明教教主”秦柯 汇集10年教学经验,首部国内思科安全技术原创图书) 》
+

NT$ 449
《 网店视觉营销:配色方案+图片优化+页面设计+视频制作一册通 》
+

NT$ 569
《 IP组播(第1卷) 》
編輯推薦:
本书是一本关于分布式服务架构的专著,采用Intellij IDEA*版本进行概念讲解与代码开发。
分布式服务架构是大型互联网公司采用的架构。本书依托工作实践,结合大量案例全方位剖析了分布式服务框架的设计原则和原理,涵盖服务架构演进、服务注册、服务路由、服务治理、服务限流、服务降级与容错等内容;同时,对基于Docker部署微服务和基于微服务架构开发、部署及运维业务系统进行了详细的论述。
本书注重理论与实战相结合,涵盖分布式服务架构开发中常用的知识点,内容详尽,代码可读性及可操作性强。在概念讲解上尽可能通俗易懂,避免艰深。在内容编排上,力图使各章节有机结合起来,给读者一个完整的分布式服务的架构蓝图。
本书主要面向架构师、设计师、软件开发工程师、测试开发工程师以及对互联网分布式架构感兴趣的相关人士阅读。
內容簡介:
随着互联网技术的发展,系统架构由单体架构、垂直MVC架构、SOA服务化、分布式服务演变到分布式微服务架构,这是互联网企业架构的必经之路。分布式微服务架构涵盖的技术面广,知识点多。本书旨在让更多计算机从业者熟悉一个完整的分布式微服务架构所涉及的基础概念、涵盖的技术以及实战开发。
本书蕴含的知识体系甚广,第1~2章主要讲解架构是如何向前演化发展的以及阅读本书之前需要准备的环境。第3~5章主要讲解服务之间的RPC调用、通信协议等。第6~7章主要讲解服务路由以及服务注册中心的原理和实践。第8章主要讲解服务调用。第9章主要讲解服务容器化以及如何部署和发布服务。第10~11章主要讲解服务限流、降级、容错以及熔断等技术。第12~13章主要讲解如何搭建服务日志和监控体系。第15章主要讲解配置中心的原理以及如何搭建配置中心。第16章主要讲解分布式数据库、分布式缓存、分布式事务、分布式Session以及服务如何通过Kafka解耦。第17章主要讲解微服务如何测试。第18章主要讲解目前主流的分布式微服务架构案例。
本书适用于所有Java编程语言开发人员、分布式微服务架构爱好者以及计算机专业的学生等。
關於作者:
黄文毅,CSDN博客专家,CSDN学院、网易学院和腾讯学院等网络学院讲师。曾就职于厦门星耀蓝图科技有限公司(为浦发银行、兴业银行、南京银行、湖南农信银行等银行开发系统)和上海美团(从事美团和大众点评后端开发工作),目前就职于厦门美图科技有限公司,从事美图秀秀和美拍后端开发工作。
目錄
第1章 从架构演进启程 1
1.1 水平分层架构 1
1.1.1 应用架构概述 1
1.1.2 MVC架构水平分层架构 2
1.2SOA服务化架构 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
第5章 微服务底层通信与协议 54
5.1 Java网络通信 54
5.1.1 传统BIO编程 54
5.1.2 伪异步IO编程 60
5.1.3 NIO编程 62
5.2 Netty框架 78
5.2.1 Netty概述 78
5.2.2 第一个Netty应用程序 78
5.2.3 Netty架构设计 84
5.3 分布式服务框架协议 89
5.3.1 主流公有协议 89
5.3.2 私有协议设计 90
第6章 服务路由与负载均衡 94
6.1 服务路由概述 94
6.1.1 服务路由的定义 94
6.1.2 服务信息存放方式 94
6.2 负载均衡概述 95
6.2.1 Nginx的定义 95
6.2.2 负载均衡的实现 95
6.2.3 负载均衡算法 98
第7章 微服务注册中心 103
7.1 了解微服务注册中心 103
7.1.1 注册中心几个概念 103
7.1.2 注册中心 104
7.2 ZooKeeper实现服务注册中心 104
7.2.1 ZooKeeper概述 104
7.2.2 ZooKeeper的原理 105
7.2.3 ZooKeeper的安装 106
7.2.4 ZooKeeper搭建集群环境 109
7.2.5 ZooKeeper集群总体架构 110
7.2.6 命令行客户端zkCli.sh 112
7.2.7 ZkClient连接ZooKeeper 116
7.2.8 ZooKeeper实现服务注册与发现 120
第8章 微服务框架服务调用与容错 122
8.1 服务调用概述 122
8.2 服务调用方式 123
8.2.1 同步服务调用 123
8.2.2 异步服务调用 125
8.2.3 并行服务调用 130
8.2.4 泛化调用 132
第9章 分布式微服务封装与部署 133
9.1 微服务封装技术 133
9.1.1 Docker概述 133
9.1.2 Docker的基本概念 135
9.1.3 Docker架构 135
9.1.4 Docker的安装 137
9.1.5 Docker的常用命令 138
9.1.6 制作镜像 142
9.1.7 使用Dockerfile构建镜像 144
9.1.8 Spring Boot集成Docker 147
9.2 微服务部署概述 150
9.2.1 蓝绿部署 150
9.2.2 滚动发布 152
9.2.3 灰度发布金丝雀部署 154
第10章 分布式服务限流 155
10.1 服务限流概述 155
10.1.1 限流定义 155
10.1.2 限流算法 155
10.2 限流设计 157
10.2.1 限流设计原理 157
10.2.2 分级限流 158
第11章 服务降级、熔断、调度 159
11.1 服务降级概述 159
11.2 服务降级方式 159
11.2.1 服务降级开关 159
11.2.2 自动降级 160
11.2.3 读服务降级 161
11.2.4 写服务降级 161
11.3 服务容错策略 161
11.3.1 失败转移(Failover) 162
11.3.2 失败自动恢复(Failback) 162
11.3.3 快速失败(Failfast) 162
11.3.4 失败缓存(FailCache) 162
11.4 Hystrix降级、熔断 162
11.4.1 Hystrix简介 162
11.4.2 Hystrix实现降级熔断 164
11.5 服务优先级设计 165
11.5.1 服务实例数量调整 165
11.5.2 加权优先级队列 166
11.5.3 线程调度器 167
第12章 服务版本与服务发布 168
12.1 服务概述 168
12.2 服务版本 168
12.2.1 服务版本概述 168
12.2.2 Snapshot和Release 169
12.3 服务发布 169
12.3.1 服务发布概述 169
12.3.2 服务发布方式 170
第13章 分布式微服务日志中心 173
13.1 分布式日志概述 173
13.1.1 结构化日志非结构化日志 173
13.1.2 日志类型 175
13.2 日志框架 175
13.2.1 JDK Logger 175
13.2.2 Apache Commons Logging 177
13.2.3 Log4jLog4j 2 177
13.2.4 Spring Boot集成Log4j 179
13.2.5 Docker日志框架 181
13.2.6 Linux系统Syslog 183
13.3 搭建日志中心 183
13.3.1 ELK概述 183
13.3.2 Elasticsearch日志存储 184
13.3.3 Logstash日志收集 189
13.3.4 Fluentd日志收集 191
13.3.5 Kibana日志查询 193
13.3.6 ELK架构与Docker整合 194
13.3.7 ELK架构原理 195
第14章 分布式微服务监控 197
14.1 分布式服务架构监控 197
14.1.1 监控的价值 197
14.1.2 监控的完整体系 197
14.1.3 微服务监控类型 198
14.1.4 Spring Boot应用监控 198
14.1.5 Spring Boot Admin监控系统 201
14.2 搭建系统监控中心 206
14.2.1 概述 206
14.2.2 时序数据收集系统:cAdvisor 206
14.2.3 时序数据存储系统:InfluxDB 209
14.2.4 时序数据分析系统:Grafana 212
14.2.5 集成InfluxDB cAdvisor Grafana 214
第15章 分布式微服务配置中心 218
15.1 配置中心概述 218
15.1.1 配置概述 218
15.1.2 配置中心解决问题 218
15.1.3 全局配置 219
15.1.4 配置中心 221
15.2 Spring Cloud Config 223
15.2.1 Spring Cloud Config概述 223
15.2.2 Spring Cloud Config快速入门 224
第16章 分布式微服务存储与解耦 232
16.1 分布式数据库架构 232
16.1.1 分库 232
16.1.2 分表 233
16.1.3 水平切分的方式 233
16.1.4 垂直切分的方式 235
16.1.5 分组 235
16.1.6 Mycat分库分表实战 236
16.1.7 Spring MyBatis Mycat快速体验 240
16.2 分布式事务 249
16.2.1 数据库事务 249
16.2.2 分布式事务 249
16.2.3 CAP定理 250
16.2.4 BASE理论 251
16.2.5 两阶段提交(2PC) 252
16.2.6 补偿事务(TCC) 252
16.2.7 后置提交 254
16.2.8 本地消息表(异步确保) 255
16.3 分布式缓存架构 256
16.3.1 Memcache与Redis 256
16.3.2 进程内缓存 257
16.3.3 Redis单节点安装 259
16.3.4 Redis持久化策略 260
16.3.5 Redis主从复制模式 263
16.3.6 Redis哨兵模式 266
16.3.7 Redis哨兵模式安装部署 271
16.3.8 Redis集群模式 277
16.3.9 Redis集群环境搭建 280
16.3.10 Redis缓存穿透和雪崩 288
16.4 微服务解耦 294
16.4.1 服务解耦概述 294
16.4.2 Kafka介绍 295
16.4.3 Kafka安装 299
16.4.4 Kafka搭建集群环境 300
16.4.5 Kafka Manager的安装 301
16.4.6 Kafka常用命令 301
16.4.7 Spring Boot集成Kafka 311
16.5 分布式服务Session 315
16.5.1 Session与Cookie 315
16.5.2 Session一致性问题 315
16.5.3 Session同步 316
第17章 分布式微服务测试 318
17.1 分布式微服务测试 318
17.1.1 微服务测试概述 318
17.1.2 微服务测试 319
17.2 Spring Boot单元测试 321
17.3 MockitoPowerMockito测试框架 323
17.3.1 Mockito概述 323
17.3.2 Mockito简单实例 324
17.3.3 PowerMock概述 327
17.3.4 PowerMockito简单实例 327
17.4 H2内存型数据库 330
17.4.1 H2概述 330
17.4.2 Spring Boot集成H2 330
17.5 REST API测试 333
17.5.1 Postman概述 333
17.5.2 Postman简单使用 333
17.6 性能测试 336
17.6.1 ab概述 336
17.6.2 ab测试 336
17.6.3 其他性能测试工具 338
第18章 分布式微服务架构经典案例 341
18.1 微服务架构案例 341
18.1.1 微服务架构概述 341
18.1.2 微服务架构平台选择 342
18.1.3 微服务接口类型 342
18.2 分布式服务框架Dubbo 343
18.2.1 Dubbo概述 343
18.2.2 Dubbo原理 344
18.3 Spring Boot Spring Cloud解决方案 345
18.3.1 Spring Boot概述 345
18.3.2 Spring Cloud概述 345
18.3.3 微服务、Spring Boot、Spring Cloud的关系 347
18.3.4 Spring Cloud与Dubbo的优劣 347
18.4Spring Boot Kubernetes Docker解决方案 348
18.4.1 Docker概述 348
18.4.2 Kubernetes概述 349
18.4.3 Kubernetes的基本概念 349
18.4.4 Kubernetes的使用 351
18.4.5 Kubernetes的架构 356
18.4.6 Kubernetes集群监控 359
18.4.7 Kubernetes集群日志管理 359
18.4.8 Kubernetes解决方案 359
参考文献 361
內容試閱
微服务是一种分布式系统架构,是近年来备受关注的话题。它是大型互联网公司系统架构发展到一定程度的产物。它建议我们将业务切分为更加细粒度的服务,并使每个服务的职责单一且可独立部署,服务内部高内聚,服务之间低耦合,彼此相互隔离。分布式微服务架构在大型互联网公司是一把利剑,但并非适合所有企业,比如传统IT企业。因为分布式微服务架构对技术要求高,需要我们有一个自动化部署系统、分布式微服务日志中心以及完善的服务监控和告警平台,对公司的运维人员要求更高,需要投入更多的人力和物力,只有大公司或者一流的技术团队才能真正玩得起微服务架构。所以,我们不能为了微服务而去微服务,需要根据企业自身的情况选择适合自己公司的系统架构。
本书是一本理论和实践相结合的图书,将非常完善地介绍分布式微服务所涵盖的方方面面的知识,并通过大量生动形象的原理图以及实战案例加深读者对微服务架构的理解,相信读者必会受益匪浅。
让我们开始分布式微服务架构的探险之旅吧!
本书结构
本书共18章,以下是各章节的内容概要。
第1章主要介绍系统架构的发展历程和架构演变:单体架构、垂直MVC架构、SOA面向服务架构、分布式系统架构、分布式微服务架构。
第2章主要介绍开始学习分布式微服务架构之前的环境准备,包括JDK安装、Intellij IDEA安装、Maven安装、快速搭建Spring Boot项目以及Spring Boot核心功能及生产级特性。
第3章主要介绍微服务之间如何通过RPC相互调用、RPC核心组件、RPC调用过程、RPC框架的性能以及目前流行的RPC框架等。
第4章主要介绍微服务之间调用时,数据如何进行序列化与反序列化,以及目前主流的序列化框架和实战。
第5章主要介绍回顾Java网络通信,包括传统BIO编程、伪异步IO编程、NIO编程,介绍目前非常流行的通信框架Netty,以及如何通过Netty开发具体实例。最后,介绍分布式服务框架使用的私有协议和公有协议,设计自定义私有协议需要注意的问题。
第6章主要介绍微服务路由、服务信息存放方式、负载均衡的实现以及负载均衡算法。
第7章主要介绍微服务注册中心的概念、ZooKeeper的概念、ZooKeeper的原理、ZooKeeper的安装、ZooKeeper搭建集群环境、命令行客户端ZkClient以及ZooKeeper实现服务注册与发现。
第8章主要介绍服务调用的方式:同步调用、异步调用、并行调用、泛化调用等。
第9章主要回顾Docker容器化技术,包括Docker的基本概念、Docker的架构、Docker的安装、Docker常用命令、Docker构建镜像以及如何通过Docker技术将Spring Boot应用容器化。最后,介绍微服务部署的几种方式:蓝绿部署、滚动发布以及灰度发布金丝雀部署等。
第10章主要介绍服务限流定义、服务限流算法、限流设计以及分级限流。
第11章主要介绍服务降级原因、服务降级开关、自动降级、读服务降级、写服务降级、服务容错策略、Hystrix降级与熔断、服务优先级设计等。
第12章主要介绍服务版本和服务发布的三种方式:注解方式、XML配置化方式、API调用方式。
第13章主要介绍分布式日志、日志类型、日志结构、常用的日志框架以及如何搭建ELK日志中心。
第14章主要介绍分布式微服务架构监控,包括:监控价值、监控的完整体系、微服务监控的类型、Spring Boot应用监控、Spring Boot Admin监控系统以及如何集成InfluxDB cAdvisor Grafana搭建监控系统等。
第15章主要介绍配置中心的演化、配置中心的原理以及如何使用Spring Cloud Config搭建配置中心。
第16章主要介绍分布式数据库架构与原理、分布式事务理论、分布式缓存架构与原理、分布式Session架构与原理以及微服务之间的解耦。
第17章主要介绍微服务测试,包括:Spring Boot单元测试、MockitoPowerMockito测试框架、H2内存型数据库、REST API测试以及性能测试等。
第18章主要介绍微服务架构案例:分布式微服务框架Dubbo、Spring Boot Spring Cloud解决方案、Spring Boot Kubernetes Docker解决方案等,同时介绍Spring Cloud的概念、Spring Cloud生态、Dubbo的原理、Kubernetes的概念、Kubernetes的原理与使用等。
学习本书的预备知识
Java基础
读者需要掌握J2SE基础知识,这是最基本的,也是最重要的。
Java Web开发技术
在项目实战中需要用到Java Web的相关技术,比如:Spring、Spring MVC、Tomcat等技术。
Spring Boot技术
本书的很多内容都是建立在读者了解Spring Boot的基础上展开的,读者需要对微服务脚手架Spring Boot的基础知识和功能特性有一定的了解。
其他技术
读者需要了解目前主流的技术,比如数据库MySQL、缓存Redis、消息中间件Kafka、容器技术Docker等。
本书使用的软件版本
本书项目实战开发环境为:
? 操作系统Mac Pro
? 开发工具Intellij IDEA 2018.1
? JDK使用1.8版本以上
? Spring Boot最新版2.1.4.RELEASE
? 其他主流技术基本使用最新版本
读者对象
? 使用Java技术体系的中、高级开发人员
? 系统架构师
? 系统运维人员
? 对分布式微服务架构感兴趣的所有开发人员
源代码下载
本书GitHub源代码下载地址:
https:github.comhuangwenyi10distributed-service-architecture-book.git。
致谢
本书能够顺利出版,首先感谢清华大学出版社的王金柱老师及背后的团队对本书的辛勤付出,这是我第四次和王金柱老师合作,每次合作都能让我感到轻松和快乐,也让我体会到写作是一件快乐的事情,我很享受这个过程。
感谢厦门美图之家科技有限公司,书中很多的知识点和项目实战经验都来源于贵公司,如果没有贵公司提供的实战案例,这本书就不可能问世。感谢主管黄及峰,导师阮龙生和吴超群,同事张汉铮、兰可成、彭阳坤、黄灿槟、王怀宗、许巡枝、吴旭星,项目管理张春宇等在学习和生活上对我的照顾。
感谢笔者的女朋友郭雅苹,感谢她一路不离不弃地陪伴和督促,感谢她对我工作的理解和支持,感谢她对我生活无微不至的照顾,使我没有后顾之忧,全身心投入本书的写作中。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 台灣用户 | 香港/海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.