spring微服务实战(第2版) 软硬件技术 (美)约翰·卡内尔,(哥斯)伊拉里·华卢波·桑切斯
spring编程开发入门零基础自学,java从入门到精通,微服务开发领域作品,对有java和spring基础,对想要了解云微服务的读者具有较高的学参价值。
¥
75.2
6.8折
¥
109.9
全新
库存6件
作者(美)约翰·卡内尔,(哥斯)伊拉里·华卢波·桑切斯
出版社人民邮电出版社
ISBN9787115587480
出版时间2022-05
版次2
装帧平装
开本16
页数380页
字数515千字
定价109.9元
货号xhwx_1202627052
上书时间2025-01-04
商品详情
- 品相描述:全新
-
正版特价新书
- 商品描述
-
主编:
1.本书将otock项目拆解划分成众多微服务,让它们运行在各自的docker容器中,实现持续集成/持续部署。
2.作者在十几年的计算机工作中一直致力于软件开发,使用不同的语言和不同类型的软件架构,一直保持着好奇心与从业初心,不断地研究并将新知识应用到开发中
3.微服务将逐渐成为单体应用程序的替代方案,它通过将大型代码库分解为小的、定义良好的部分,帮助解决代码的复杂问题
目录:
章欢迎迈入云世界,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.4devo故事:构建运行时的严谨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.4dockere84
4.5集成docker与微服务86
4.5.1构建docker镜像86
4.5.2使用springboot创建docker镜像91
4.5.3使用dockere启动服务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和flixeureka进行服务发现实战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使用flixfeign客户端调用服务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:拦截传入的请求205
8.6.2usercontext:使服务易于访问首部206
8.6.3自定义resttemte和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对所有业务通信使用s/安全套接字层(ssl)241
9.5.2使用服务网关访问微服务241
9.5.3将服务划分到公共api和私有api241
9.5.4通过封锁不需要的网络端来微服务的攻击面241
9.6小结242
0章使用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
1章使用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添加到响应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
2章部署微服务303
12.1构建/部署管道的架构304
12.2在云中设置o-stock的核心基础设施307
12.2.1使用的rds创建tgresql数据库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创建kuberes管道脚本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
内容简介:
本书以一个名为otock的项目为主线,介绍云、微服务等概念以及pring boot和pring cloud等诸多pring项目,并介绍如何将otock项目一步一步地从单体架构重构成微服务架构,进而将这个项目拆分成众多微服务,让它们运行在各自的docker容器中,实现持续集成持续部署,并终自动部署到云环境(aw)的kubere集群中。针对在重构过程中遇到的各种微服务开发会面临的典型问题(包括开发、测试和运维等问题),本书介绍了解决这些问题的核心模式,以及在实战中如何选择特定pring cloud子项目或其他工具(如keycloak、zipkin、elk技术栈)解决这些问题。
本书适合拥有构建分布式应用程序的经验、拥有pring的知识背景以及对学构建基于微服务的应用程序感兴趣的java开发人员阅读。对于希望使用微服务构建基于云的应用程序,以及希望了解如何将基于微服务的应用部署到云上的开发人员,本书也具有很好的学参价值。
作者简介:
约翰卡内尔(john carnell)是一位云工程师,拥有二十多年的java开发经验。他大部分时间都在使用aw台构建基于电话的微服务。他的常工作主要是设计和构建跨java、clojure和go等多种技术台的微服务。伊拉里华卢波桑切斯(illary huaylupo ánchez)是一名软件工程师,拥有十多年的oracle认证开发经验,目前,illary 在哥斯达黎加圣何塞的微软公司担任软件工程师,在那里她将大部分时间花在研究和开发各种流行的新项目上。
— 没有更多了 —
以下为对购买帮助不大的评价