• Spring微服务实战(第2版)
  • Spring微服务实战(第2版)
  • Spring微服务实战(第2版)
21年品牌 40万+商家 超1.5亿件商品

Spring微服务实战(第2版)

76.5 7.0折 109.9 全新

库存16件

四川成都
认证卖家担保交易快速发货售后保障

作者(美)约翰·卡内尔,(哥斯)伊拉里·华卢波·桑切斯

出版社人民邮电出版社

ISBN9787115587480

出版时间2022-05

装帧平装

开本16开

定价109.9元

货号1202627052

上书时间2024-07-03

聚合博文书店

十年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
目录
第1章欢迎迈入云世界,Spring1

1.1微服务架构的演进1

1.1.1n层架构2

1.1.2什么是单体架构2

1.1.3什么是微服务3

1.1.4为什么要改变构建应用的方式5

1.2使用Spring开发微服务6

1.3我们在构建什么7

1.4本书涵盖什么内容8

1.4.1在本书中你会学到什么8

1.4.2为什么本书与你有关9

1.5云和基于微服务的应用程序9

1.5.1使用SpringBoot来构建微服务10

1.5.2云计算到底是什么14

1.5.3为什么是云和微服务16

1.6微服务不只是编写代码17

1.7核心开发模式18

1.8路由模式19

1.9客户端弹性模式21

1.10安全模式22

1.11日志记录和跟踪模式23

1.12应用程序度量模式24

1.13构建/部署模式25

1.14小结26

第2章使用SpringCloud探索微服务世界27

2.1什么是SpringCloud27

2.1.1SpringCloudConfig28

2.1.2SpringCloud服务发现29

2.1.3SpringCloudLoadBalancer和Resilience4j29

2.1.4SpringCloudAPIGateway29

2.1.5SpringCloudStream29

2.1.6SpringCloudSleuth30

2.1.7SpringCloudSecurity30

2.2通过示例来介绍SpringCloud30

2.3如何构建云原生微服务32

2.3.1代码库34

2.3.2依赖35

2.3.3配置35

2.3.4后端服务36

2.3.5构建、发布和运行37

2.3.6进程37

2.3.7端口绑定38

2.3.8并发38

2.3.9可任意处置38

2.3.10开发环境/生产环境等同38

2.3.11日志39

2.3.12管理进程39

2.4确保本书的示例是有意义的40

2.5使用SpringBoot和Java来构建微服务40

2.5.1设置环境41

2.5.2从骨架项目开始41

2.5.3引导SpringBoot应用程序:编写引导类45

2.6小结46

第3章使用SpringBoot构建微服务48

3.1架构师的故事:设计微服务架构49

3.1.1分解业务问题49

3.1.2建立服务粒度51

3.1.3定义服务接口53

3.2何时不要使用微服务53

3.2.1构建分布式系统时的复杂性54

3.2.2服务器或容器散乱54

3.2.3应用程序的类型54

3.2.4数据事务和一致性54

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

3.3.1构建微服务的入口:SpringBoot控制器55

3.3.2将国际化添加到许可证服务64

3.3.3实现SpringHATEOAS来显示相关的链接68

3.4DevOps故事:构建运行时的严谨性71

3.4.1服务装配:打包和部署微服务72

3.4.2服务引导:管理微服务的配置73

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

3.4.4传达微服务的健康状况75

3.5将视角综合起来77

3.6小结77

第4章欢迎来到Docker79

4.1容器还是虚拟机80

4.2Docker是什么81

4.3Dockerfile83

4.4DockerCompose84

4.5集成Docker与微服务86

4.5.1构建Docker镜像86

4.5.2使用SpringBoot创建Docker镜像91

4.5.3使用DockerCompose启动服务93

4.6小结94

第5章使用SpringCloudConfig服务器端控制配置96

5.1关于管理配置(和复杂性)97

5.1.1配置管理架构97

5.1.2实施选择99

5.2构建SpringCloudConfig服务器端100

5.2.1创建SpringCloudConfig引导类104

5.2.2使用带有文件系统的SpringCloudConfig服务器端105

5.2.3创建服务的配置文件106

5.3将SpringCloudConfig与SpringBoot客户端集成110

5.3.1建立许可证服务的SpringCloudConfig服务依赖项111

5.3.2配置许可证服务以使用SpringCloudConfig112

5.3.3使用SpringCloudConfig服务器端连接数据源115

5.3.4使用@ConfigurationProperties直接读取属性118

5.3.5使用SpringCloudConfig服务器端刷新属性119

5.3.6使用SpringCloudConfig服务器端和Git120

5.3.7使用SpringCloudConfig服务集成Vault122

5.3.8VaultUI122

5.4保护敏感配置信息125

5.4.1创建对称加密密钥125

5.4.2加密和解密属性126

5.5最后的想法128

5.6小结128

第6章关于服务发现129

6.1我的服务在哪里130

6.2云中的服务发现132

6.2.1服务发现架构132

6.2.2使用Spring和NetflixEureka进行服务发现实战135

6.3构建SpringEureka服务136

6.4通过SpringEureka注册服务141

6.4.1Eureka的RESTAPI144

6.4.2Eureka仪表板145

6.5使用服务发现来查找服务146

6.5.1使用SpringDiscoveryClient查找服务实例148

6.5.2使用带有LoadBalancer功能的SpringRest模板调用服务150

6.5.3使用NetflixFeign客户端调用服务152

6.6小结153

第7章当糟糕的事情发生时:使用SpringCloud和Resilience4j的弹性模式154

7.1什么是客户端弹性模式155

7.1.1客户端负载均衡模式156

7.1.2断路器模式156

7.1.3后备模式156

7.1.4舱壁模式156

7.2为什么客户端弹性很重要157

7.3实现Resilience4j160

7.4设置许可证服务以使用SpringCloud和Resilience4j160

7.5实现断路器162

7.5.1向组织服务添加断路器166

7.5.2定制断路器166

7.6后备处理168

7.7实现舱壁模式169

7.8实现重试模式172

7.9实现限流器模式174

7.10ThreadLocal和Resilience4j176

7.11小结180

第8章使用SpringCloudGateway进行服务路由182

8.1什么是服务网关183

8.2SpringCloudGateway简介184

8.2.1建立SpringCloudGateway项目185

8.2.2配置SpringCloudGateway与Eureka进行通信188

8.3在SpringCloudGateway中配置路由189

8.3.1通过服务发现自动映射路由189

8.3.2使用服务发现手动映射路由191

8.3.3动态重新加载路由配置194

8.4SpringCloudGateway的真正威力:断言和过滤器工厂194

8.4.1内置的断言工厂195

8.4.2内置的过滤器工厂196

8.4.3自定义过滤器197

8.5构建前置过滤器200

8.6在服务中使用关联ID203

8.6.1UserContextFilter:拦截传入的HTTP请求205

8.6.2UserContext:使服务易于访问HTTP首部206

8.6.3自定义RestTemplate和UserContextInteceptor:确保关联ID被传播207

8.7构建接收关联ID的后置过滤器208

8.8小结210

第9章保护微服务211

9.1OAuth2是什么212

9.2Keycloak简介213

9.3从小事做起:使用Spring和Keycloak来保护单个端点214

9.3.1将Keycloak服务添加到Docker214

9.3.2设置Keycloak215

9.3.3注册客户端应用程序218

9.3.4配置O-stock用户222

9.3.5对O-stock用户进行身份认证224

9.4使用Keycloak保护组织服务227

9.4.1将SpringSecurity和KeycloakJAR添加到各个服务228

9.4.2配置服务以指向Keycloak服务228

9.4.3定义什么和谁可以访问服务229

9.4.4传播访问令牌233

9.4.5从JWT中解析自定义字段239

9.5关于微服务安全的一些总结240

9.5.1对所有业务通信使用HTTPS/安全套接字层(SSL)241

9.5.2使用服务网关访问微服务241

9.5.3将服务划分到公共API和私有API241

9.5.4通过封锁不需要的网络端口来微服务的攻击面241

9.6小结242

第10章使用SpringCloudStream的事件驱动架构243

10.1消息传递、EDA和微服务的案例244

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

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

10.1.3消息传递架构的缺点248

10.2SpringCloudStream简介249

10.3编写简单的消息生产者和消费者251

10.3.1在Docker中配置ApacheKafka和Redis252

10.3.2在组织服务中编写消息生产者252

10.3.3在许可证服务中编写消息消费者258

10.3.4在实际操作中查看消息服务261

10.4SpringCloudStream用例:分布式缓存262

10.4.1使用Redis来缓存查找263

10.4.2定义自定义通道269

10.5小结271

第11章使用SpringCloudSleuth和Zipkin进行分布式跟踪272

11.1SpringCloudSleuth与关联ID273

11.1.1将SpringCloudSleuth添加到许可证服务和组织服务中274

11.1.2剖析SpringCloudSleuth跟踪274

11.2日志聚合与SpringCloudSleuth275

11.2.1SpringCloudSleuth/ELK技术栈实现实战277

11.2.2在服务中配置Logback278

11.2.3在Docker中定义和运行ELK技术栈应用程序281

11.2.4配置Kibana284

11.2.5在Kibana中搜索SpringCloudSleuth的跟踪ID287

11.2.6使用SpringCloudGateway将关联ID添加到HTTP响应288

11.3使用Zipkin进行分布式跟踪290

11.3.1设置SpringCloudSleuth和Zipkin依赖项291

11.3.2配置服务以指向Zipkin291

11.3.3配置Zipkin服务器端292

11.3.4设置跟踪级别293

11.3.5使用Zipkin跟踪事务293

11.3.6可视化更复杂的事务296

11.3.7捕获消息传递踪迹297

11.3.8添加自定义跨度299

11.4小结301

第12章部署微服务303

12.1构建/部署管道的架构304

12.2在云中设置O-stock的核心基础设施307

12.2.1使用亚马逊的RDS创建PostgreSQL数据库309

12.2.2在AWS中创建Redis集群312

12.3超越基础设施:部署O-stock和ELK313

12.3.1创建运行EKL的EC2实例313

12.3.2在EC2实例中部署ELK技术栈316

12.3.3创建一个EKS集群317

12.4构建/部署管道实战323

12.5创建构建/部署管道324

12.5.1设置GitHub325

12.5.2使服务能够在Jenkins中构建326

12.5.3理解并生成管道脚本330

12.5.4创建Kubernetes管道脚本332

12.6关于构建/部署管道的总结333

12.7小结334

附录A微服务架构很好实践335

A.1Richardson成熟度模型335

A.2SpringHATEOAS337

A.3外部化配置337

A.4持续集成和持续交付338

A.5监控339

A.6日志记录339

A.7API网关340

附录BOAuth2授权类型341

B.1密码授权类型341

B.2客户端凭据授权类型343

B.3授权码授权类型344

B.4隐式授权类型345

B.5如何刷新令牌347

附录C监控微服务349

C.1引入SpringBootActuator进行监控349

C.1.1添加SpringBootActuator349

C.1.2启用Actuator端点350

C.2设置Micrometer和Prometheus351

C.2.1了解Micrometer和Prometheus351

C.2.2实现Micrometer和Prometheus352

C.3配置Grafana354

C.4小结358

内容摘要
本书以一个名为O-stock的项目为主线,介绍云、微服务等概念以及Spring Boot和Spring Cloud等诸多Spring项目,并介绍如何将O-stock项目一步一步地从单体架构重构成微服务架构,进而将这个项目拆分成众多微服务,让它们运行在各自的Docker容器中,实现持续集成持续部署,并最终自动部署到云环境(AWS)的Kubernetes集群中。针对在重构过程中遇到的各种微服务开发会面临的典型问题(包括开发、测试和运维等问题),本书介绍了解决这些问题的核心模式,以及在实战中如何选择特定Spring Cloud子项目或其他工具(如KeyCloak、Zipkin、ELK技术栈)解决这些问题。

本书适合拥有构建分布式应用程序的经验、拥有Spring的知识背景以及对学习构建基于微服务的应用程序感兴趣的Java开发人员阅读。对于希望使用微服务构建基于云的应用程序,以及希望了解如何将基于微服务的应用部署到云上的开发人员,本书也具有很好的学习参考价值。

主编推荐
1.本书将O-stock项目拆解划分成众多微服务,让它们运行在各自的Docker容器中,实现持续集成/持续部署。
2.作者在十几年的计算机工作中一直致力于软件开发,使用不同的语言和不同类型的软件架构,一直保持着好奇心与从业初心,不断地研究并将新知识应用到开发中
3.微服务将逐渐成为单体应用程序的替代方案,它通过将大型代码库分解为小的、定义良好的部分,帮助解决代码的复杂问题

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP