云原生spring实战 spring boot与kuberes实践 编程语言 [美]托马斯·维塔莱(thomas vitale) 新华正版
¥
96.4
6.9折
¥
139.8
全新
库存8件
作者[美]托马斯·维塔莱(thomas vitale)
出版社人民邮电出版社
ISBN9787115624406
出版时间2024-03
版次1
装帧平装
开本16
页数544页
定价139.8元
货号xhwx_1203236844
上书时间2024-04-06
商品详情
- 品相描述:全新
-
正版特价新书
- 商品描述
-
主编:
以项目为导向,使用pring实现云原生模式,处理安全、韧和可扩展等问题;
提供丰富的实战案例,构建和测试命令式与反应式应用,在kubere上实现配置和可观测;
采用持续交付和gito,从代码到生产,一步步构建云原生应用,让学成果即刻转化为实际价值。
目录:
目录
部分 元原生基础
章 云原生简介
1.1什么是云原生?
1.1.1云原生的3p
1.2 云和云计算模型
1.2.1 基础设施即服务
1.2.2 容器即服务
1.2.3 台即服务
1.2.4 函数即服务
1.2.5 软件即服务
1.3 云原生应用的属
1.3.1 可扩展
1.3.2 松耦合
1.3.3 韧
1.3.4 可观测
1.3.5 可管理
1.4 支撑云原生的与实践
1.4.1 自动化
1.4.2 持续交付
1.4.3 devo
1.5 云是很好方案吗?
1.5.1 速度
1.5.2 韧
1.5.3 扩展
1.5.4 节省成本
1.6 云原生的拓扑结构
1.6.1 容器
1.6.2 编排
1.6.3 serverless
1.7 云原生应用的架构
1.7.1 从多层架构到微服务和其他架构
1.7.2 基于服务架构的云原生应用
小结
第 2章 云原生模式与技术
2.1 云原生开发原则:12- factor及其扩展
2.1.1 一份基准代码,一个应用
2.1.2 api优先
2.1.3 依赖管理
2.1.4 设计,构建,发布和运行
2.1.5 配置、凭证和代码
2.1.6 志
2.1.7 易处理
2.1.8 支撑服务
2.1.9 环境对等
2.1.10 管理进程
2.1.11 端绑定
2.1.12 无进程
2.1.13 并发
2.1.14 遥测
2.1.15 认证与授权
2.2 使用spring构建云原生应用
2.2.1 spring全景图概览
2.2.2 构建spring boot应用
2.3 使用docker容器化应用
2.3.1 docker简介:镜像与容器
2.3.2 以容器形式运行spring应用
2.4 使用kuberes管理容器
2.4.1 kuberes简介:deployment、pod与service
2.4.2 在kuberes中运行spring应用
2.5 云原生样例:polar bookshop
2.5.1 理解系统需求
2.5.2 探索项目中所使用的模式和技术
小结
第二部分 云原生开发
第3章 云原生开发入门
3.1 启动云原生项目
3.1.1 一份基准代码,一个应用
3.1.2 使用gradle和maven进行依赖管理
3.2 使用嵌入式的服务器
3.2.1 可执行的jar文件与嵌入式服务器
3.2.2 理解每个请求一个线程的模型
3.2.3 配置嵌入式服务器
3.3 使用spring mvc构建restful应用
3.3.1 先有rest api,后有业务逻辑
3.3.2 使用spring mvc实现rest api
3.3.3 数据验证和错误处理
3.3.4 为满足未来需求而不断演进的api
3.4 使用spring测试restful应用
3.4.1 使用junit 5进行单元测试
3.4.2 使用@springboottest进行集成测试
3.4.3 使用@webmvctest测试rest控制器
3.4.4 使用@jsontest测试json序列化
3.5 部署流水线:构建与测试
3.5.1 理解部署流水线的提交阶段
3.5.2 使用github actions实现提交阶段
小结
第4章 外部化配置管理
4.1 spring中的配置:属与profile
4.1.1 属:用作配置的键/值对
4.1.2 profile:特标记和配置组
4.2 外部化配置:一次构建,多个配置
4.2.1 通过命令行参数配置应用
4.2.2 通过jvm系统属配置应用
4.2.3 通过环境变量配置应用
4.3 使用spring cloud config server实现中心化的配置管理
4.3.1 使用git存储配置数据
4.3.2 搭建配置服务器
4.3.3 确保配置服务器的韧
4.3.4 理解配置服务器的rest api
4.4 通过spring cloud config client使用配置服务器
4.4.1 搭建配置客户端
4.4.2 确保配置客户端的韧
4.4.3 在运行时刷新配置
小结
第5章 云中的数据持久化与数据管理
5.1 云原生系统的数据库
5.1.1 云中的数据服务
5.1.2 以容器的形式运行tgresql
5.2 使用spring data bc进行数据持久化
5.2.1 使用bc建立到数据库的连接
5.2.2 使用spring data定义持久化实体
5.2.3 启用和配置bc审计
5.2.4 使用spring data实现数据资源库
5.3 使用spring和testcontainers测试数据持久化
5.3.1 为tgresql配置testcontainers
5.3.2 使用@databctest和testcontainers测试数据持久化
5.3.3 使用@springboottest和testcontainers进行集成测试
5.4 使用flyway管理生产环境中的数据库
5.4.1 理解flyway:对数据库进行版本控制
5.4.2 使用flyway初始化数据库模式
5.4.3 使用flyway演进数据库
小结
第6章 容器化spring boot
6.1 在docker上使用容器镜像
6.1.1 理解容器镜像
6.1.2 使用dockerfile创建镜像
6.1.3 发布镜像到github container registry
6.2 将spring boot应用打包为容器镜像
6.2.1 让spring boot为容器化做好准备
6.2.2 使用dockerfiles容器化spring boot
6.2.3 构建适用于生产环境的容器镜像
6.2.4 使用cloud native buildpacks容器化spring boot
6.3 使用docker e管理spring boot容器
6.3.1 使用docker e管理容器的生命周期
6.3.2 调试spring boot容器
6.4 部署流水线:打包和发布
6.4.1 在提交阶段构建发布候选
6.4.2 使用github actions发布容器镜像
6.5 小结
第7章 面向spring boot的kuberes基础
7.1 从docker到kuberes
7.1.1 使用本地的kuberes集群
7.1.2 管理本地集群中的数据服务
7.2 spring boot应用的kuberes deployment
7.2.1 从容器到pod
7.2.2 使用deployment来控制pod
7.2.3 创建spring boot应用的deployment
7.3 服务发现与负载均衡
7.3.1 理解服务发现和负载均衡
7.3.2 客户端的服务发现和负载均衡
7.3.3 服务器端的服务发现和负载均衡
7.3.4 使用kuberes service对外暴露spring boot应用
7.4 可扩展和易处理
7.4.1 确保易处理:快速启动
7.4.2 确保易处理:优雅关机
7.4.3 扩展spring boot应用
7.5 使用tilt实现本地的kuberes开发
7.5.1 使用tilt实现内开发循环
7.5.2 使用octant可视化kuberes工作负载
7.6 部署流水线:校验kuberes清单
7.6.1 在提交阶段校验kuberes清单
7.6.2 使用github actions实现kuberes清单校验的自动化
7.6 小结
第三部分 云原生分布式系统
第8章 反应式spring:韧与可扩展
8.1 使用reactor和spring的异步与非阻塞架构
8.1.1 从“每个请求一个线程”到事件循环
8.1.2 reactor项目:使用mono和flux实现的反应式流
8.1.3 理解spring反应式技术栈
8.2 使用spring webflux和spring data r2dbc实现反应式服务器
8.2.1 使用spring boot引导反应式应用
8.2.2 使用spring data r2dbc反应式地持久化数据
8.2.3 使用反应式流实现业务逻辑
8.2.4 使用spring webflux暴露rest api
8.3 使用spring webclient编写反应式客户端
8.3.1 spring中的服务与服务通信
8.3.2 理解如何交换数据
8.3.3 使用webclient实现rest客户端
8.4使用反应式spring实现韧的应用
8.4.1 超时
8.4.2 重试
8.4.3 后备策略和错误处理
8.5 使用spring、reactor和testcontainers测试反应式应用
8.5.1 使用mock web服务器测试rest客户端
8.5.2 使用@datar2dbctest和testcontainers测试数据持久化
8.5.3 使用@webfluxtest测试rest控制器
8.6小结
第9章 api网关与断路器
9.1 边缘服务器和spring cloud gateway
9.1.1 使用spring cloud gateway引导边缘服务器
9.1.2 定义路由和断言
9.1.3 通过过滤器处理请求和响应
9.2 使用spring cloud circuit breaker和resilience4j实现容错
9.2.1 使用spring cloud circuit breaker引入断路器
9.2.2 使用resilience4j配置断路器
9.2.3 使用spring webflux定义后备rest api
9.2.4 组合断路器、重试和器
9.3 使用spring cloud gateway和redis进行限流
9.3.1 以容器的形式运行redis
9.3.2 集成spring与redis
9.3.3 配置请求限流器
9.4 基于redis的分布式会话管理
9.4.1 使用spring session data redis处理会话
9.5 使用kuberes ingress管理外部访问
9.5.1 理解ingress api和ingress controller
9.5.2 使用ingress对象
小结
0章 事件驱动应用与函数
10.1.1 理解事件驱动模型
10.1.2 使用发布/订阅模型
10.2 基于rabbitmq的消息代理
10.2.1 理解消息系统中的amqp
10.2.2 使用rabbitmq实现发布/订阅通信
10.3 基于spring cloud function的函数
10.3.1 在spring cloud function中使用函数化范式
10.3.2 组合与集成函数:rest、serverless与数据流
10.4 使用spring cloud stream处理消息
10.4.1 配置与rabbitmq的集成
10.4.2 将函数绑定至消息通道
10.4.3 使用test binder编写集成测试
10.4.4 保持消息系统应对故障的韧
10.5 使用spring cloud stream生产和消费消息
10.5.1 实现事件消费者以及幂等问题
10.5.2 实现事件生产者以及原子问题
小结
1章 安全:认证与spa
11.1 理解spring security的基础知识
11.2 使用keycloak管理用户账号
11.2.1 定义安全realm
11.2.2 管理用户和角
11.3 使用openid connect、jwt和keycloak进行认证
11.3.1 使用openid connect认证用户
11.3.2 使用jwt交换用户信息
11.3.3 在keycloak中注册应用
11.4 使用spring security和openid connect认证用户
11.4.1 添加新的依赖
11.4.2 配置spring security和keycloak集成
11.4.3 spring security的基本配置
11.4.4 探查认证用户的上下文
11.4.5 在spring security和keycloak中配置用户退出
11.5 集成spring security与spa
11.5.1 运行angular应用
11.5.2 控制认证流
11.5.3 止跨站请求伪造
11.6 测试spring security和openid connect
11.6.1 测试oidc认证
11.6.2 测试csrf
小结
2章 安全:授权和审计
12.1 使用spring cloud gateway和oauth2实现授权和角管理
12.1.1 从spring cloud gateway到其他服务的令牌中继
12.1.2 自定义令牌并传播用户角
12.2 使用spring security和oauth2保护api(命令式)
12.2.1 以oauth2资源服务器的方式保护spring boot应用
12.2.2 使用spring security和jwt实现基于角的访问控制
12.2.3 使用spring security和testcontainers测试oauth2
12.3 使用spring security和oauth2保护api(反应式)
12.3.1 以oauth2资源服务器的方式保护spring boot应用
12.3.2 使用spring security和testcontainers测试oauth2
12.4 使用spring security和spring data保护和审据
12.4.1 使用spring security和spring data bc审据
12.4.2 使用spring data和@withmockuser测试数据审计
12.4.3 使用spring security和spring data r2dbc保护用户数据
12.4.4使用@withmockuser和spring data r2dbc测试数据审计和保护
小结
第四部分 云原生生产化
3章 可观测与监控
13.1 使用spring boot、loki和fluent bit管理志
13.1.1 使用spring boot记录志
13.1.2 使用loki、fluent bit和grafana管理志
13.2 使用spring boot actuator和kuberes实现健康探针
13.2.1 使用actuator定义健康探针
13.2.2 在spring boot和kuberes中配置健康指针
13.3 使用spring boot actuator、prometheus和grafana实现度量和监控
13.3.1 使用spring boot actuator和micrometer配置度量
13.3.2 使用prometheus和grafana监控度量
13.3.3 在kuberes中配置prometheus度量
13.4 使用opentelemetry和tempo进行分布式跟踪
13.4.1 使用tempo和grafana管理跟踪
13.4.2 在spring boot中使用opentelemetry配置跟踪
13.5 使用spring boot actuator管理和监控应用
13.5.1 在spring boot中监控flyway迁移
13.5.2 暴露应用信息
13.5.3 生成和分析堆转储文件
小结
4章 配置与secret管理
14.1 在kuberes上配置应用
14.1.1 使用spring security保护配置服务器
14.1.2 使用spring cloud bus刷新配置
14.1.3 使用spring cloud config管理secret
14.1.4 禁用spring cloud config
14.2 在kuberes中使用configmap和secret
14.2.1 使用configmap配置spring boot
14.2.2 (是否应该)使用secret存储敏感信息
14.2.3 使用spring cloud kuberes在运行时刷新配置
14.3 使用kustomize进行配置管理
14.3.1 使用kustomize管理和配置 spring boot应用
14.3.2 使用kustomize管理多环境的kuberes配置
14.3.3 定义staging环境的配置overlay
14.3.4 自定义环境变量
14.3.5 自定义configmap
14.3.6 自定义镜像名称和版本
14.3.7 自定义副本数量
小结
5章 持续交付与gito
15.1 部署流水线:验收阶段
15.1.1 为持续交付中的发布候选进行版本化
15.1.2 理解部署流水线的验收阶段
15.1.3 使用github actions实现验收阶段
15.2 配置spring boot的生产化
15.2.1 为生产化定义配置overlay
15.2.2 为spring boot容器配置cpu和内存
15.2.3 将spring boot部署至生产环境
15.3 部署流水线:生产化阶段
15.3.1 理解部署流水线的生产化阶段
15.3.2 使用github actions实现生产化阶段
15.4 使用gito实现持续部署
15.4.1 使用argo cd实现gito
15.4.2 组合到一起
小结
6章 serverless、graalvm与knative
16.1 使用spring native和graalvm生成原生镜像
16.1.1 理解graalvm和spring native
16.1.2 使用spring native引入graalvm对spring boot的支持
16.1.3 将spring boot应用编译为原生镜像
16.2 使用spring cloud function的serverless应用
16.2.1 使用spring cloud function构建serverless应用
16.2.2 部署流水线:构建和发布
16.2.3 将serverless应用部署在云中
16.3 使用knative部署serverless应用
16.3.1 搭建knative台
16.3.2 使用knative cli部署应用
16.3.3 使用knative清单部署应用
小结
附录a 搭建开发环境
附录b 使用digitalocean搭建生产环境的kuberes
内容简介:
本书提供了一个以项目为导向的云原生pring实践指南,将帮助你揽益复杂的云计算环境,并学如何将模式和技术结合在一起,建立一个真正的云计算原生系统并将其投入生产。本书分为四个部分,共计16章。部分内容为此次从代码到生产的云原生之旅奠定了基础,帮助你更好地理解本书其他部分所涉及的主题。第二部分介绍了使用pring boot和kubere构建生产绪的云原生应用的主要实践和模式。第三部分涵盖了云中分布式系统的基本属和模式,包括韧、安全、可扩展和api网关,以及反应式编程和事件驱动架构。第四部分使你的云原生应用为生产做好准备,解决可观测、配置管理、ecret管理和部署策略等问题,并涵盖了erverle和原生镜像。
作者简介:
托马斯维塔莱(thoma vitale)是一名软件工程师和架构师,专门构建云原生、有韧和安全的企业应用。他在丹麦的ytematic公司设计和开发软件解决方案,在那里他一直致力于为云原生领域提供现代化的台和应用,专注于开发体验和安全。
他主要关注的领域是java、pring boot、kubere、knative和一般的云原生技术。托马斯支持持续交付实践,并相信协作的,致力于为用户、消费者和企业交付价值。他喜欢为pring ecurity和pring cloud等开源项目作贡献,并与社区分享知识。
托马斯拥有意大利都灵理工大学的计算机工程硕士,主要研究方向是软件领域。他获得cf certified kubere application developer、pivotal certified pring profeional以及redhat certified enterprie appli cation developer认证。他在各种活动中的演讲主题涵盖pringone、pring i/o、kubeconcloudnativecon、devoxx、goto、jbconf、devtalk和j4k。
— 没有更多了 —
以下为对购买帮助不大的评价