Cloud Native分布式架构原理与实践
- ISBN:9787301300893
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:336
- 出版时间:2019-03-01
- 条形码:9787301300893 ; 978-7-301-30089-3
本书特色
(1)新。符合当今云架构发展现状的开发技术,无论是大型企业还是个人开发者,都或多或少地采用了云的方式来开发和部署应用。 (2)全。涵盖REST设计、测试、服务注册、服务发现、安全、数据管理、消息通信、批处理、任务调度、运营、容器部署、持续发布等方面的知识。 (3)细。实战案例辅以大量理论知识,让读者透彻理解每一个知识点!
内容简介
Cloud Native(云原生)是以云架构为优先的应用开发模式。目前,越来越多的企业已经开始大规模地“拥抱云”——在云环境下开发应用、部署应用及发布应用等。未来,越来越多的开发者也将采用 Cloud Native 来开发应用。本书是国内Java 领域关于 Cloud Native 的著作。 《Cloud Native分布式架构原理与实践》全面讲解了基于 Cloud Native 来构建应用需要考虑的设计原则和实现方式,涵盖REST 设计、测试、服务注册、服务发现、安全、数据管理、消息通信、批处理、任务调度、运营、容器部署、持续发布等方面的 Cloud Native 知识。同时,书中所讲解的技术方案皆为业界主流的技术,极具前瞻性。*后,本书除了讲解 Cloud Native 的理论知识,还会在每个知识点上辅以大量的代码案例,使理论可以联系实践,具备更强的可操作性。 本书主要面向对分布式系统、微服务、Cloud Native 开发感兴趣的计算机专业的学生、软件开发人员和系统架构师。
目录
1.1当今软件发展的现状
1.1.1软件需求的发展
1.1.2开发方式的巨变
1.1.3云是大势所趋
1.2Cloud Native 的特性
1.2.1以云为基础架构
1.2.2云服务
1.2.3无服务
1.2.4可扩展
1.2.5高可用
1.2.6敏捷
1.2.7云优先
1.312-Factor
1.3.1基准代码
1.3.2依赖
1.3.3配置
1.3.4后端服务
1.3.5构建、发布和运行
1.3.6进程
1.3.7端口绑定
1.3.8并发
1.3.9易处理
1.3.10开发环境与线上环境等价
1.3.11日志
1.3.12管理进程
1.4成功案例
1.4.1Amazon
1.4.2 Netflix
1.4.3淘宝网
1.5Cloud Native 与微服务
1.5.1微服务概述
1.5.2从单块架构向微服务演进
1.5.3Cloud Native 与微服务部署
1.6总结
1.6.1Cloud Native 的优点
1.6.2Cloud Native 不是“银弹”
1.6.3面临的挑战
第2章REST API
2.1REST 概述
2.1.1REST 的定义
2.1.2REST 设计原则
2.2成熟度模型
2.2.1第0级:使用 HTTP 作为传输方式
2.2.2第1级:引入了资源的概念
2.2.3第2级:根据语义使用 HTTP 动词
2.2.4第3级:使用 HATEOAS
2.3Java REST
2.3.1JAX-RS 规范
2.3.2Jersey 框架
2.3.3Apache CXF 框架
2.3.4Spring Web MVC 框架
2.4内容协商
2.4.1二进制数据
2.4.2Google Protocol Buffers 传输协议
2.5异常处理
2.5.1HTTP 状态码
2.5.2自定义异常信息
2.6API 管理
2.6.1版本化
2.6.2文档化
2.6.3可视化
2.7客户端
2.7.1浏览器插件
2.7.2JAX-RS 客户端
2.7.3Spring 客户端
2.8实战:开启**个微服务
2.8.1初始化一个 Spring Boot 原型
2.8.2用 Gradle 编译项目
2.8.3探索项目
2.8.4实现**个服务
第3章Cloud Native 测试
3.1测试概述
3.1.1传统测试所面临的问题
3.1.2如何破解测试面临的问题
3.2测试的类型、范围和比例
3.2.1测试类型
3.2.2测试范围
3.2.3测试比例
3.3如何进行微服务的测试
3.3.1微服务的单元测试
3.3.2Mock 与 Stub 的区别
3.3.3微服务的集成测试
3.3.4微服务的系统测试
3.3.5保障代码覆盖率
3.4Spring 测试框架
3.4.1Spring TestContext 框架
3.4.2Spring MVC Test 框架
3.4.3Spring Boot Test 框架
第4章服务路由
4.1如何找到服务
4.1.1DNS
4.1.2服务注册与发现
4.1.3客户端发现机制
4.1.4服务端发现机制
4.2实战:实现服务注册与发现
4.2.1选择 Eureka的原因
4.2.2集成 Eureka Server
4.2.3集成 Eureka Client
4.2.4服务的注册与发现
第5章Cloud Native 安全
5.1认证与授权
5.1.1基本认证
5.1.2摘要认证
5.1.3摘要认证的密码加密
5.1.4通用密码加密
5.1.5基于散列的令牌方法
5.1.6基于持久化的令牌方法
5.2Java 安全框架
5.2.1Apache Shiro
5.2.2Spring Security
5.2.3Spring Cloud Security
5.3OAuth 2.0 认证
5.3.1OAuth 2.0 的认证原理
5.3.2OAuth 2.0 的核心概念
5.3.3OAuth 2.0 的认证流程
5.4实战:实现单点登录
5.4.1项目依赖
5.4.2编码实现
5.4.3应用配置
5.4.4运行
第6章Cloud Native 数据管理
6.1数据的存储方式
6.1.1关系型数据库
6.1.2NoSQL
6.2DDD 与数据建模
6.2.1DDD 概述
6.2.2运用 DDD 进行数据建模
6.3常用数据访问方式
6.3.1JDBC
6.3.2Spring JDBC
6.3.3JPA
6.4Spring Data
6.4.1Spring Data 概述
6.4.2Spring Data JPA
6.4.3Spring Data Elasticsearch
6.4.4Spring Data Redis
6.4.5Spring Data MongoDB
6.4.6实战:基于 MongoDB 的文件服务器
第7章Cloud Native 消息通信
7.1消息通信概述
7.1.1消息通信的基本概念
7.1.2JMS
7.1.3事件驱动的架构
7.2消息通信常用模式
7.2.1点对点模式
7.2.2发布—订阅模式
7.3CQRS
7.3.1CQRS 概述
7.3.2CQRS 的好处
7.3.3实战:实现 CQRS
7.4Spring Cloud Stream
7.4.1Spring Cloud Stream 概述
7.4.2Spring Cloud Stream 实现发布者
7.4.3Spring Cloud Stream 实现消费者
7.4.4实战:基于 Spring Cloud Stream 的消息通信
第8章Cloud Native 批处理
8.1批处理概述
8.1.1需要批处理的原因
8.1.2常用批处理实现方式
8.2JDBC Batch
8.2.1Statement 与 PreparedStatement
8.2.2实战:使用 JDBC Batch 的例子
8.3Spring 批处理
8.3.1使用 JdbcTemplate 实现批处理
8.3.2批量更新 List
8.3.3多个批次更新
8.4Spring Batch
8.4.1Spring Batch 概述
8.4.2Job
8.4.3JobLauncher
8.4.4JobRepository
8.4.5Step
8.4.6ItemReader
8.4.7ItemWriter
8.4.8ItemProcessor
8.4.9实战:使用 Spring Batch 的例子
第9章Cloud Native 任务调度
9.1任务执行与调度概述
9.2Spring TaskExecutor
9.2.1TaskExecutor 类型
9.2.2TaskExecutor 应用
9.3Spring TaskScheduler
9.3.1Trigger 接口
9.3.2Trigger 接口的实现
9.4Spring 任务调度及异步执行
9.4.1启用调度注解
9.4.2@Scheduled 注解
9.4.3@Async 注解
9.4.4@Async 的异常处理
9.4.5命名空间
9.5使用 Quartz Scheduler
9.5.1使用 JobDetailFactoryBean
9.5.2使用 MethodInvokingJobDetailFactoryBean
9.6实战:基于 Quartz Schedule 的天气预报系统
9.6.1项目概述
9.6.2后台编码实现
9.6.3运行
第10章Cloud Native 运营
10.1CAP 理论
10.1.1CAP 理论概述
10.1.2CAP 只能三选二的原因
10.1.3CAP 常见模型
10.1.4CAP 的意义
10.1.5CAP 的发展
10.2服务的熔断
10.2.1熔断的意义
10.2.2Hystrix 概述
10.2.3实战:实现微服务的熔断机制
10.3代码管理
10.3.1Git 简介
10.3.2Git 核心概念
10.3.3Git Flow
10.4日志管理
10.4.1日志框架概述
10.4.2分布式下的日志管理
10.4.3集中化日志分析
10.4.4实战:基于 Elastic Stack 的集中化日志管理
10.5配置管理
10.5.1分布式下的配置管理的痛点
10.5.2集中化配置
10.5.3 Spring Cloud Config
10.5.4实战:基于 Config 实现的配置中心
10.6应用监控
10.6.1心跳
10.6.2Eureka 监测机制
10.6.3Spring Boot Actuator
10.6.4实战:基于 Spring Boot Actuator 监测的例子
第11章Cloud Native 持续发布
11.1持续集成与持续交付
11.1.1持续集成概述
11.1.2持续交付与持续部署
11.1.3持续交付与持续部署的意义
11.2持续交付流水线
11.2.1流水线概述
11.2.2构建持续交付流水线
11.2.3构建流水线的工具
11.3微服务的管理与发布
11.3.1两个比萨的故事
11.3.2DevOps 文化
11.3.3微服务的发布
11.4容器
11.4.1虚拟化技术
11.4.2容器与虚拟机
11.4.3基于容器的持续部署流程
11.4.4实战:使用 Docker 来构建、运行和发布微服务
11.5发布到云
11.5.1常用云服务
11.5.2实战:发布应用到云
附录本书所涉及的技术及相关版本
参考文献
作者简介
柳伟卫(waylau),在 IT 公司担任项目经理、架构师、高级开发顾问等职位,具有多年软件开发管理及系统架构经验。负责过多个省、国家大型分布式系统的设计与研发,参与了多个大型项目的微服务架构的技术改造,在实际工作中,积累了大量的微服务架构经验。是 CSDN、 开源中国、云栖社区等技术社区专家。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥48.2¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0