热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

福利来了,现“免费”赠送Spring微服务实战书籍

本书适合拥有构建分布式应用程序的经验、拥有Spring的知识背景以及对学习构建基于微服务的应用程序感兴趣的Java开发人员阅读。本书籍赠送活动详情,请识别上图二维码☝☝☝☝☝书籍推荐

本书适合拥有构建分布式应用程序的经验、拥有Spring的知识背景以及对学习构建基于微服务的应用程序感兴趣的Java开发人员阅读。

本书籍赠送活动详情,请识别上图二维码☝☝☝☝☝

 

书籍推荐

本书教读者如何使用Java和Spring平台构建基于微服务的应用程序。在构建和部署dy个Spring Cloud应用程序时,读者将学习如何进行微服务设计。在本书中,

精心挑选的真实案例展示了基于微服务的各种模式,这些模式用于配置、路由、扩展和部署服务。读者将了解Spring易于使用的工具,并看到其如何助力用微服务

来增强和重构现有的应用程序。

本书主要内容

● 核心微服务设计原则。

● 使用Spring Cloud Config管理配置。

● 使用Spring、Hystrix和Ribbon实现客户端弹性。

● 使用Netflix Zuul进行智能路由。

● 部署Spring Cloud应用程序。

本书是为具有Java和Spring经验的开发人员编写的。

目录

第 1章 欢迎迈入云世界,Spring 1

1.1 什么是微服务 1

1.2 什么是Spring,为什么它与微服务有关 4

1.3 在本书中读者会学到什么 5

1.4 为什么本书与你有关 6

1.5 使用Spring Boot来构建微服务 6

1.6 为什么要改变构建应用的方式 10

1.7 云到底是什么 11

1.8 为什么是云和微服务 13

1.9 微服务不只是编写代码 14

1.9.1 核心微服务开发模式 15

1.9.2 微服务路由模式 16

1.9.3 微服务客户端弹性模式 17

1.9.4 微服务安全模式 18

1.9.5 微服务日志记录和跟踪模式 19

1.9.6 微服务构建和部署模式 20

1.10 使用Spring Cloud构建微服务 22

1.10.1 Spring Boot 23

1.10.2 Spring Cloud Config 23

1.10.3 Spring Cloud服务发现 24

1.10.4 Spring Cloud与Netflix Hystrix和Netflix Ribbon 24

1.10.5 Spring Cloud与Netflix Zuul 24

1.10.6 Spring Cloud Stream 24

1.10.7 Spring Cloud Sleuth 24

1.10.8 Spring Cloud Security 25

1.10.9 代码供应 25

1.11 通过示例来介绍Spring Cloud 25

1.12 确保本书的示例是有意义的 27

1.13 小结 28

第 2章 使用Spring Boot构建微服务 29

2.1 架构师的故事:设计微服务架构 31

2.1.1 分解业务问题 31

2.1.2 建立服务粒度 32

2.1.3 互相交流:定义服务接口 35

2.2 何时不应该使用微服务 36

2.2.1 构建分布式系统的复杂性 36

2.2.2 服务器散乱 36

2.2.3 应用程序的类型 36

2.2.4 数据事务和一致性 37

2.3 开发人员的故事:用SpringBoot和Java构建微服务 37

2.3.1 从骨架项目开始 37

2.3.2 引导Spring Boot应用程序:编写引导类 39

2.3.3 构建微服务的入口:Spring Boot控制器 40

2.4 DevOps工程师的故事:构建运行时的严谨性 44

2.4.1 服务装配:打包和部署微服务 46

2.4.2 服务引导:管理微服务的配置 47

2.4.3 服务注册和发现:客户端如何与微服务通信 48

2.4.4 传达微服务的“健康状况” 49

2.5 将视角综合起来 51

2.6 小结 52

第3章 使用Spring Cloud配置服务器控制配置 53

3.1 管理配置(和复杂性) 54

3.1.1 配置管理架构 55

3.1.2 实施选择 56

3.2 构建Spring Cloud配置服务器 58

3.2.1 创建Spring Cloud Config引导类 61

3.2.2 使用带有文件系统的Spring Cloud配置服务器 62

3.3 将Spring Cloud Config与Spring Boot客户端集成 64

3.3.1 建立许可证服务对Spring Cloud Config服务器的依赖 65

3.3.2 配置许可证服务以使用Spring Cloud Config 66

3.3.3 使用Spring Cloud配置服务器连接数据源 69

3.3.4 使用@Value注解直接读取属性 72

3.3.5 使用Spring Cloud配置服务器和Git 73

3.3.6 使用Spring Cloud配置服务器刷新属性 73

3.4 保护敏感的配置信息 75

3.4.1 下载并安装加密所需的Oracle JCE jar 75

3.4.2 创建加密密钥 76

3.4.3 加密和解密属性 76

3.4.4 配置微服务以在客户端使用加密 78

3.5  后的想法 79

3.6 小结 80

第4章 服务发现 81

4.1 我的服务在哪里 82

4.2 云中的服务发现 84

4.2.1 服务发现架构 84

4.2.2 使用Spring和Netflix Eureka进行服务发现实战 87

4.3 构建Spring Eureka服务 88

4.4 通过Spring Eureka注册服务 90

4.5 使用服务发现来查找服务 93

4.5.1 使用Spring DiscoveryClient查找服务实例 95

4.5.2 使用带有Ribbon功能的Spring RestTemplate调用服务 97

4.5.3 使用Netflix Feign客户端调用服务 98

4.6 小结 100

第5章 使用Spring Cloud和NetflixHystrix的客户端弹性模式 101

5.1 什么是客户端弹性模式 102

5.1.1 客户端负载均衡模式 103

5.1.2 断路器模式 103

5.1.3 后备模式 103

5.1.4 舱壁模式 104

5.2 为什么客户端弹性很重要 104

5.3 进入Hystrix 107

5.4 搭建许可服务器以使用Spring Cloud和Hystrix 107

5.5 使用Hystrix实现断路器 109

5.5.1 对组织微服务的调用超时 111

5.5.2 定制断路器的超时时间 112

5.6 后备处理 113

5.7 实现舱壁模式 115

5.8 基础进阶—微调Hystrix 118

5.9 线程上下文和Hystrix 122

5.9.1 ThreadLocal与Hystrix 122

5.9.2 HystrixConcurrencyStrategy实战 125

5.10 小结 129

第6章 使用Spring Cloud和Zuul进行服务路由 131

6.1 什么是服务网关 132

6.2 Spring Cloud和Netflix Zuul简介 133

6.2.1 建立一个Zuul Spring Boot项目 134

6.2.2 为Zuul服务使用Spring Cloud注解 134

6.2.3 配置Zuul与Eureka进行通信 135

6.3 在Zuul中配置路由 135

6.3.1 通过服务发现自动映射路由 136

6.3.2 使用服务发现手动映射路由 137

6.3.3 使用静态URL手动映射路由 140

6.3.4 动态重新加载路由配置 142

6.3.5 Zuul和服务超时 143

6.4 Zuul的真正威力:过滤器 144

6.5 构建 个生成关联ID的Zuul前置过滤器 147

6.6 构建接收关联ID的后置过滤器 155

6.7 构建动态路由过滤器 157

6.7.1 构建路由过滤器的骨架 159

6.7.2 实现run()方法 159

6.7.3 转发路由 161

6.7.4 整合 162

6.8 小结 163

第7章 保护微服务 164

7.1 OAuth2简介 165

7.2 从小事做起:使用Spring和OAuth2来保护单个端点 167

7.2.1 建立EagleEye OAuth2验证服务 167

7.2.2 使用OAuth2服务注册客户端应用程序 168

7.2.3 配置EagleEye用户 171

7.2.4 验证用户 172

7.3 使用OAuth2保护组织服务 175

7.3.1 将Spring Security和OAuth2 jar添加到各个服务 176

7.3.2 配置服务以指向OAuth2验证服务 176

7.3.3 定义谁可以访问服务 177

7.3.4 传播OAuth2访问令牌 180

7.4 JSON Web Token与OAuth2 183

7.4.1 修改验证服务以颁发JWT令牌 184

7.4.2 在微服务中使用JWT 188

7.4.3 扩展JWT令牌 189

7.4.4 从JWT令牌中解析自定义字段 191

7.5 关于微服务安全的总结 193

7.6 小结 195

第8章 使用Spring Cloud Stream的事件驱动架构 196

8.1 为什么使用消息传递、EDA和微服务 197

8.1.1 使用同步请求-响应方式来传达状态变化 198

8.1.2 使用消息传递在服务之间传达状态更改 199

8.1.3 消息传递架构的缺点 201

8.2 Spring Cloud Stream简介 202

8.3 编写简单的消息生产者和消费者 205

8.3.1 在组织服务中编写消息生产者 205

8.3.2 在许可证服务中编写消息消费者 210

8.3.3 在实际操作中查看消息服务 213

8.4 Spring Cloud Stream用例:分布式缓存 214

8.4.1 使用Redis来缓存查找 215

8.4.2 定义自定义通道 221

8.4.3 将其全部汇集在一起:在收到消息时清除缓存 222

8.5 小结 223

第9章 使用Spring Cloud Sleuth和Zipkin进行分布式跟踪 224

9.1 Spring Cloud Sleuth与关联ID 225

9.1.1 将Spring Cloud Sleuth添加到许可证服务和组织服务中 226

9.1.2 剖析Spring Cloud Sleuth跟踪 226

9.2 日志聚合与Spring Cloud Sleuth 227

9.2.1 Spring Cloud Sleuth与Papertrail实现实战 229

9.2.2 创建Papertrail账户并配置syslog连接器 230

9.2.3 将Docker输出重定向到Papertrail 232

9.2.4 在Papertrail中搜索Spring Cloud Sleuth的跟踪ID 234

9.2.5 使用Zuul将关联ID添加到HTTP响应 235

9.3 使用Open Zipkin进行分布式跟踪 237

9.3.1 添加Spring Cloud Sleuth和Zipkin依赖项 238

9.3.2 配置服务以指向Zipkin 238

9.3.3 安装和配置Zipkin服务器 239

9.3.4 设置跟踪级别 240

9.3.5 使用Zipkin跟踪事务 241

9.3.6 可视化更复杂的事务 243

9.3.7 捕获消息传递跟踪 244

9.3.8 添加自定义跨度 246

9.4 小结 248

第 10章 部署微服务 250

10.1 EagleEye:在云中建立核心基础设施 251

10.1.1 使用 的RDS创建PostgreSQL数据库 253

10.1.2 在AWS中创建Redis集群 257

10.1.3 创建ECS集群 258

10.2  基础设施:部署EagleEye 262

10.3 构建和部署管道的架构 265

10.4 构建和部署管道实战 268

10.5 开始构建和部署管道:GitHub和Travis CI 270

10.6 使服务能够在Travis CI中构建 270

10.6.1 构建的核心运行时配置 273

10.6.2 安装预构建工具 275

10.6.3 执行构建 277

10.6.4 标记源代码 277

10.6.5 构建微服务并创建Docker镜像 279

10.6.6 将镜像推送到Docker Hub 279

10.6.7 在Amazon ECS中启动服务 280

10.6.8 启动平台测试 280

10.7 关于构建和部署管道的总结 282

10.8 小结 282

附录A 在桌面运行云服务 283

附录B OAuth2授权类型 291

关注公众号:程序员生态圈,公众号后续会有其他书籍赠送活动,大家需要什么书籍的,可以在评论区留言


推荐阅读
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • Jboss的EJB部署描述符standardjaws.xml配置步骤详解
    本文详细介绍了Jboss的EJB部署描述符standardjaws.xml的配置步骤,包括映射CMP实体EJB、数据源连接池的获取以及数据库配置等内容。 ... [详细]
  • 从Oracle安全移植到国产达梦数据库的DBA实践与攻略
    随着我国对信息安全和自主可控技术的重视,国产数据库在党政机关、军队和大型央企等行业中得到了快速应用。本文介绍了如何降低从Oracle到国产达梦数据库的技术门槛,保障用户现有业务系统投资。具体包括分析待移植系统、确定移植对象、数据迁移、PL/SQL移植、校验移植结果以及应用系统的测试和优化等步骤。同时提供了移植攻略,包括待移植系统分析和准备移植环境的方法。通过本文的实践与攻略,DBA可以更好地完成Oracle安全移植到国产达梦数据库的工作。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
author-avatar
xhl583337984
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有