Spring Cloud与Docker微服务架构实战+亿级流量+架构探险+轻量级微服务架构pdf下载

Spring Cloud与Docker微服务架构实战+亿级流量+架构探险+轻量级微服务架构百度网盘pdf下载

作者:
简介:Spring Cloud与Docker微服务架构实战+亿级流量+架构探险+轻量级微服务架构
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

套装6本:

架构探险:从零开始写分布式服务框架

分布式服务框架原理与实践
Spring Cloud与Docker微服务架构实战
亿级流量网站架构核心技术
轻量级微服务架构
微服务架构与实践













Spring Cloud与Docker微服务架构实战




  • 作者: 周立   
  • 出版社:电子工业出版社
  • ISBN:9787121312717
  • 上架时间:2017-4-6
  • 出版日期:2017 年4月
  • 开本:16开
  • 页码:268
  • 版次:1-1
  • 所属分类:
    计算机
     作为一部帮助大家实现微服务架构落地的作品,《Spring Cloud与Docker微服务架构实战》覆盖了微服务理论、微服务开发框架(Spring Cloud)以及运行平台(Docker)三大主题。全书可分为三部分,第1章对微服务架构进行了系统的介绍;第2-11章使用Spring Cloud开发框架编写了一个"电影售票系统";第12-14章则讲解了如何将微服务应用运行在Docker之上。全书Demo驱动学习,以连贯的场景、具体的代码示例来引导读者学习相关知识,·终使用特定的技术栈实现微服务架构的落地。 



  • 热爱技术交流,曾代表公司参加全球微服务架构高峰论坛、QCon等技术沙龙。拥抱开源,在GitHub与Git@OSC上开源多个项目,并获得了开源中国的推荐,例如开源电子书《使用Spring Cloud与Docker实战微服务》等。
    笔者博客:http://itmuch.com,定期分享Spring Cloud相关博客。读者可扫码关注Spring Cloud 中国社区公众号以及作者公众号。


  • 1 微服务架构概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
    1.1 单体应用架构存在的问题1
    1.2 如何解决单体应用架构存在的问题3
    1.3 什么是微服务3
    1.4 微服务架构的优点与挑战5
    1.4.1 微服务架构的优点5
    1.4.2 微服务架构面临的挑战5
    1.5 微服务设计原则6
    1.6 如何实现微服务架构7
    1.6.1 技术选型7
    1.6.2 架构图及常用组件8
    2 微服务开发框架--Spring Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
    2.1 Spring Cloud 简介10
    2.2 Spring Cloud 特点10
    2.3 Spring Cloud 版本11
    2.3.1 版本简介11
    2.3.2 子项目一览12
    2.3.3 Spring Cloud/Spring Boot 版本兼容性13
    3 开始使用Spring Cloud 实战微服务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
    3.1 Spring Cloud 实战前提14
    3 开始使用Spring Cloud 实战微服务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
    3.1 Spring Cloud 实战前提14
    3.1.1 技术储备14
    3.1.2 工具及软件版本15
    3.2 服务提供者与服务消费者16
    3.3 编写服务提供者16
    3.3.1 手动编写项目17
    3.3.2 使用Spring Initializr 快速创建Spring Boot 项目21
    3.4 编写服务消费者23
    3.5 为项目整合Spring Boot Actuator 25
    3.6 硬编码有哪些问题27
    4 微服务注册与发现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
    4.1 服务发现简介29
    4.2 Eureka 简介31
    4.3 Eureka 原理31
    4.4 编写Eureka Server 33
    4.5 将微服务注册到Eureka Server 上35
    4.6 Eureka Server 的高可用36
    4.6.1 将应用注册到Eureka Server 集群上38
    4.7 为Eureka Server 添加用户认证39
    4.7.1 将微服务注册到需认证的Eureka Server 40
    4.8 理解Eureka 的元数据41
    4.8.1 改造用户微服务41
    4.8.2 改造电影微服务41
    4.9 Eureka Server 的REST 端点43
    4.9.1 示例45
    4.9.2 注销微服务实例49
    4.10 Eureka 的自我保护模式51
    4.11 多网卡环境下的IP 选择52
    4.11.1 忽略指定名称的网卡52
    4.11.2 使用正则表达式,指定使用的网络地址52
    4.11.3 只使用站点本地地址53
    4.11.4 手动指定IP 地址53
    4.12 Eureka 的健康检查53
    5 使用Ribbon 实现客户端侧负载均衡. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
    5.1 Ribbon 简介56
    5.2 为服务消费者整合Ribbon 57
    5.3 使用Java 代码自定义Ribbon 配置60
    5.4 使用属性自定义Ribbon 配置63
    5.5 脱离Eureka 使用Ribbon 64
    6 使用Feign 实现声明式REST 调用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
    6.1 Feign 简介67
    6.2 为服务消费者整合Feign 67
    6.3 自定义Feign 配置69
    6.4 手动创建Feign 72
    6.4.1 修改用户微服务72
    6.4.2 修改电影微服务76
    6.5 Feign 对继承的支持78
    6.6 Feign 对压缩的支持79
    6.7 Feign 的日志80
    6.8 使用Feign 构造多参数请求82
    6.8.1 GET 请求多参数的URL 82
    6.8.2 POST 请求包含多个参数83
    7 使用Hystrix 实现微服务的容错处理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
    7.1 实现容错的手段85
    7.1.1 雪崩效应85
    7.1.2 如何容错86
    7.2 使用Hystrix 实现容错88
    7.2.1 Hystrix 简介88
    7.2.2 通用方式整合Hystrix 89
    7.2.3 Hystrix 断路器的状态监控与深入理解91
    7.2.4 Hystrix 线程隔离策略与传播上下文93
    7.2.5 Feign 使用Hystrix 96
    7.3 Hystrix 的监控101
    7.3.1 Feign 项目的Hystrix 监控102
    7.4 使用Hystrix Dashboard 可视化监控数据103
    7.5 使用Turbine 聚合监控数据105
    7.5.1 Turbine 简介105
    7.5.2 使用Turbine 监控多个微服务105
    7.5.3 使用消息中间件收集数据108
    8 使用Zuul 构建微服务网关. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
    8.1 为什么要使用微服务网关113
    8.2 Zuul 简介115
    8.3 编写Zuul 微服务网关115
    8.4 Zuul 的路由端点118
    8.5 Zuul 的路由配置详解119
    8.6 Zuul 的安全与Header 122
    8.6.1 敏感Header 的设置122
    8.6.2 忽略Header 123
    8.7 使用Zuul 上传文件124
    8.7.1 编写文件上传微服务124
    8.8 Zuul 的过滤器127
    8.8.1 过滤器类型与请求生命周期127
    8.8.2 编写Zuul 过滤器128
    8.8.3 禁用Zuul 过滤器130
    8.9 Zuul 的容错与回退130
    8.9.1 为Zuul 添加回退131
    8.10 Zuul 的高可用133
    8.10.1 Zuul 客户端也注册到了Eureka Server 上133
    8.10.2 Zuul 客户端未注册到Eureka Server 上133
    8.11 使用Sidecar 整合非JVM 微服务134
    8.11.1 编写Node.js 微服务135
    8.11.2 编写Sidecar 136
    8.11.3 Sidecar 的端点138
    8.11.4 Sidecar 与Node.js 微服务分离部署139
    8.11.5 Sidecar 原理分析139
    9 使用Spring Cloud Config 统一管理微服务配置. . . . . . . . . . . . . . . . . . . . . . . 142
    9.1 为什么要统一管理微服务配置142
    9.2 Spring Cloud Config 简介143
    9.3 编写Config Server 144
    9.3.1 Config Server 的端点145
    9.4 编写Config Client 147
    9.5 Config Server 的Git 仓库配置详解149
    9.6 Config Server 的健康状况指示器152
    9.7 配置内容的加解密153
    9.7.1 安装JCE 153
    9.7.2 Config Server 的加解密端点153
    9.7.3 对称加密153
    9.7.4 存储加密的内容154
    9.7.5 非对称加密155
    9.8 使用/refresh 端点手动刷新配置155
    9.9 使用Spring Cloud Bus 自动刷新配置157
    9.9.1 Spring Cloud Bus 简介157
    9.9.2 实现自动刷新158
    9.9.3 局部刷新159
    9.9.4 架构改进159
    9.9.5 跟踪总线事件160
    9.10 Spring Cloud Config 与Eureka 配合使用161
    9.11 Spring Cloud Config 的用户认证162
    9.11.1 Config Client 连接需用户认证的Config Server 163
    9.12 Config Server 的高可用164
    9.12.1 Git 仓库的高可用164
    9.12.2 RabbitMQ 的高可用164
    9.12.3 Config Server 自身的高可用165
    10 使用Spring Cloud Sleuth 实现微服务跟踪. . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
    10.1 为什么要实现微服务跟踪167
    10.2 Spring Cloud Sleuth 简介168
    10.3 整合Spring Cloud Sleuth 170
    10.4 Spring Cloud Sleuth 与ELK 配合使用172
    10.5 Spring Cloud Sleuth 与Zipkin 配合使用176
    10.5.1 Zipkin 简介176
    10.5.2 编写Zipkin Server 176
    10.5.3 微服务整合Zipkin 178
    10.5.4 使用消息中间件收集数据181
    10.5.5 存储跟踪数据183
    11 Spring Cloud 常见问题与总结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
    11.1 Eureka 常见问题186
    11.1.1 Eureka 注册服务慢186
    11.1.2 已停止的微服务节点注销慢或不注销187
    11.1.3 如何自定义微服务的Instance ID 188

微服务架构与实践



随着RESTful、云计算、DevOps、持续交付等概念的深入人心,微服务架构逐渐成为系统架构的一个代名词。本书首先从理论出发,介绍了微服务架构的概念、诞生背景、本质特征以及优缺点;然后基于实践,探讨了如何从零开始构建**个微服务,包括Hello World API、Docker 映像构建与部署、日志聚合、监控告警、持续交付流水线等;·后,在进阶部分讨论了微服务的轻量级通信、消费者驱动的契约测试,并通过一个真实的案例描述了如何使用微服务架构改造遗留系统。全书内容丰富,条理清晰,通俗易懂,是一本理论结合实践的微服务架构的实用书籍。
  本书不仅适合架构师、开发人员、测试人员以及运维人员阅读,也适合正在尝试使用微服务架构解耦历史遗留系统的团队或者个人参考,希望本书能在实际工作中对读者有所帮助。

分布式服务框架原理与实践




本书作者具有丰富的分布式服务框架、平台中间件的架构设计和实践经验,主导设计的华为分布式服务框架已经在全球数十个国家成功商用。书中依托工作实践,从分布式服务框架的架构设计原理到实践经验总结,涵盖了服务化架构演进、订阅发布、路由策略、集群容错和服务治理等多个专题,全方位剖析服务框架的设计原则和原理,结合大量实践案例与读者分享作者对分布式服务框架设计和运维的体会。同时,对基于Docker部署微服务以及基于微服务架构开发、部署和运维业务系统进行了详细介绍。


轻量级微服务架构(上册)



本系列从开发与运维两方面分别对微服务架构的实践过程进行描述,全套分为上下两册,上册偏重于开发,下册偏重于运维。在上册中读者会学习到微服务架构所需的开发技能,包括使用SpringBoot搭建微服务开发框架,使用Node.js搭建微服务网关,使用ZooKeeper实现微服务注册与发现,使用Docker封装微服务,使用Jenkins部署微服务。通过阅读上册,读者可轻松搭建一款轻量级微服务架构。

《轻量级微服务架构(上册)》适合对微服务实践感兴趣,以及想成为微服务架构师的人员阅读。



架构探险:从零开始写分布式服务框架

内容提要

        《架构探险:从零开始写分布式服务框架》的初衷是希望把分布式服务框架的实现细节及分布式服务框架周边的知识点梳理清楚,为那些对分布式服务框架感兴趣的人打开一扇窗户,降低获取相关知识的门槛。所以《架构探险:从零开始写分布式服务框架》围绕实现分布式服务框架所需的知识点,进行了比较详尽细致的介绍。包括常见的RPC框架、常见的序列化/反序列化方案及选型、分布式服务框架服务的发布引入实现细节、软负载实现、底层通信方案实现、服务注册与发现实现、服务治理常见的功能等。通过对这些知识点的逐步讲解,层层深入,·终完成一个可运行的分布式服务框架。

        通过《架构探险:从零开始写分布式服务框架》,读者可以完整地了解实现一个分布式服务框架的所有技术细节和实现原理,希望对想了解分布式服务框架实现细节的读者有所启发和帮助。

 

 

目    录

1 常用的RPC框架     1

1.1  RPC框架原理         1

1.2  RMI介绍        2

1.2.1 原生RMI代码示例    3

1.2.2  RMI穿透防火墙         5

1.3  CXF/Axis2介绍       7

1.3.1  CXF介绍      7

1.3.2  Axis2介绍   14

1.4  Thrift介绍      21

1.4.1  Thrift工作原理介绍  23

1.4.2  Thrift IDL语法说明    26

1.4.3 基于Apache ThriftJava版完整案例    28

1.4.4 基于Java注解的简化实现        36

1.5  gRPC介绍      42

1.5.1  protobuf3语法介绍   43

1.5.2  gRPC使用示例   45

1.6  HTTP Client介绍    53

1.6.1 构建HttpClient对象54

1.6.2 构建URI对象     55

1.6.3 构建请求对象(HttpGetHttpPost    56

1.6.4  HttpClient发起调用及获取调用返回结果       56

1.7 实现自己的RPC框架   61

1.8  RPC框架与分布式服务框架的区别    68

1.9 本章小结        68

2 分布式服务框架总体架构与功能          69

2.1 面向服务的体系架构(SOA     69

2.1.1 面向服务架构范式    69

2.1.2 服务拆分原则    71

2.2 分布式服务框架现实需求   72

2.3 分布式服务框架总体架构及所需的技术概述   72

2.4 本章小结        74

3 分布式服务框架序列化与反序列化实现     75

3.1 序列化原理及常用的序列化介绍        75

3.2  Java默认的序列化        77

3.3  XML序列化框架介绍   80

3.4  JSON序列化框架介绍  82

3.5  Hessian序列化框架介绍      87

3.6  protobuf序列化框架介绍     88

3.7  protostuff序列化框架介绍  93

3.8  Thrift序列化框架介绍98

3.9  Avro序列化框架介绍   100

3.9.1  Avro介绍    100

3.9.2  Avro IDL语言介绍      101

3.9.3  Schema定义介绍       103

3.9.4  Maven配置及使用IDLSchema自动生成代码   103

3.9.5  Avro序列化/反序列化实现       105

3.10  JBoss Marshalling序列化框架介绍   110

3.11 序列化框架的选型      112

3.12 实现自己的序列化工具引擎      113

3.13 本章小结      118

4 实现分布式服务框架服务的发布与引入     119

4.1  Spring Framework框架概述119

4.1.1  Spring Framework介绍       119

4.1.2  Spring Framework周边生态项目介绍       121

4.2  FactoryBean的秘密       122

4.2.1  FactoryBean的作用及使用场景        123

4.2.2  FactoryBean实现原理及示例说明   124

4.3  Spring框架对于已有RPC框架集成的支持         127

4.3.1  Spring支持集成RPC框架介绍127

4.3.2 基于RmiProxyFactoryBean实现RMISpring的集成128

4.3.3 基于HttpInvokerProxyFactoryBean实现HTTP InvokerSpring的集成        131

4.3.4 基于HessianProxyFactoryBean实现HessianSpring的集成       133

4.4 实现自定义服务框架与Spring的集成        136

4.4.1 实现远程服务的发布         136

4.4.2 实现远程服务的引入         144

4.5 Spring中定制自己的XML标签       150