Java微服务分布式架构企业实战+ 分布式微服务架构:原理与实战  分布式架构框架搭建书 Java编pdf下载

Java微服务分布式架构企业实战+ 分布式微服务架构:原理与实战 分布式架构框架搭建书 Java编百度网盘pdf下载

作者:
简介:Java微服务分布式架构企业实战+ 分布式微服务架构:原理与实战 分布式架构框架搭建书 Java编
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

Java微服务分布式架构企业实战


本书将用人单位需要的新技术和热点技术融入了教材,以教学为本,传授企业实用技能,配套有教学视频,方便读者学习。


作者:千锋教育高教产品研发部


定价:59元


印次:1-1


ISBN:9787302541271


出版日期:2020.01.01


印刷日期:2019.12.24


为了更快地实施微服务,本书基于开源且稳定的三方工具,介绍如何构建一个庞大且复杂的分布式,用于满足项目中的实际需求。 每一个工具库为了适应更丰富的使用场景,通常都会把部分参数以配置文件的方式暴露出来,同时提供用于开发环境的默认配置。本书基于快速使用为主线,尽可能多地讲解配置参数的意义及它们之间的关系,帮助读者在掌握足够多的知识点后,建立起对微服务分布式架构的认知,以便为探求更深层次的知识点做好铺垫。本书适合Java工程师、初级架构师、大中专院校相关师生、Java培训班学员及独立自学读者使用。

分布式微服务架构:原理与实战 

89 

978-7-302-53781-6 

黄文毅 

分布式;架构;微服务架构;Java编程 程序设计




随着互联网技术的发展,架构由单体架构、垂直MVC架构、SOA服务化、分布式服务演变到分布式微服务架构,这是互联网企业架构的必经之路。分布式微服务架构涵盖的技术面广,知识点多。本书旨在让更多计算机从业者熟悉一个完整的分布式微服务架构所涉及的基础概念、涵盖的技术以及实战开发。

本书蕴含的知识体系甚广,第1~2章主要讲解架构是如何向前演化发展的以及阅读本书之前需要准备的环境。第3~5章主要讲解服务之间的RPC调用、通信协议等。第6~7章主要讲解服务路由以及服务注册中心的原理和实践。第8章主要讲解服务调用。第9章主要讲解服务容器化以及如何部署和发布服务。第10~11章主要讲解服务限流、降级、容错以及熔断等技术。第12~13章主要讲解如何搭建服务日志和监控体系。第15章主要讲解配置中心的原理以及如何搭建配置中心。第16章主要讲解分布式数据库、分布式缓存、分布式事务、分布式Session以及服务如何通过Kafka解耦。第17章主要讲解微服务如何测试。第18章主要讲解目前主流的分布式微服务架构案例。

本书适用于所有Java编程语言开发人员、分布式微服务架构爱好者以及计算机的学生等。




本书是一本关于分布式服务架构的专著,采用Intellij IDEA新版本进行概念讲解与代码开发。

分布式服务架构是大型互联网公司采用的架构。本书依托工作实践,结合大量案例全方位剖析了分布式服务框架的设计原则和原理,涵盖服务架构演进、服务注册、服务路由、服务治理、服务限流、服务降级与容错等内容;同时,对基于Docker部署微服务和基于微服务架构开发、部署及运维业务进行了详细的论述。

本书注重理论与实战相结合,涵盖分布式服务架构开发中常用的知识点,内容详尽,代码可读性及可操作性强。在概念讲解上尽可能通俗易懂,避免艰深。在内容编排上,力图使各章节有机结合起来,给读者一个完整的分布式服务的架构蓝图。

本书主要面向架构师、设计师、软件开发工程师、测试开发工程师以及对互联网分布式架构感兴趣的相关人士阅读





黄文毅,CSDN博客专家,CSDN学院、网易学院和腾讯学院等网络学院讲师。曾就职于厦门星耀蓝图科技有限公司(为浦发银行、兴业银行、南京银行、湖南农信银行等银行开发)和上海美团(从事美团和大众点评后端开发工作),目前就职于厦门美图科技有限公司,从事美图秀秀和美拍后端开发工作。 本书注重理论与实战相结合,涵盖分布式服务架构开发中常用的知识点,内容详尽,代码可读性及可操作性强 










目   录


第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

第5章  微服务底层通信与协议 54

5.1  Java网络通信 54

5.1.1  传统BIO编程 54

5.1.2  伪异步I/O编程 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  Log4j/Log4j 2 177

13.2.4  Spring Boot集成Log4j 179

13.2.5  Docker日志框架 181

13.2.6  LinuxSyslog 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  Mockito/PowerMockito测试框架 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.4   Spring 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


^_^:1132ad8bd4936df29b7f20c4fdcbf01f