Cloud Native分布式架构原理与实践 - 中国高校教材图书网
|
书名: |
Cloud Native分布式架构原理与实践
|
| ISBN: | 9787301300893 |
责任编辑: | |
| 作者: |
柳伟卫
相关图书
|
装订: | 0 |
| 印次: | 1-1 |
开本: | 16开 |
| 定价: |
¥79.00
折扣价:¥75.05
折扣:0.95
节省了3.95元
|
字数: |
488千字
|
| 出版社: |
北京大学出版社 |
页数: |
336页
|
| 出版日期: |
2019-01-23 |
每包册数: |
|
| 国家规划教材: |
|
省部级规划教材: |
|
| 入选重点出版项目: |
|
获奖信息: |
|
|
|
| 内容简介: |
|
Cloud Native 是以云架构为优先的应用开发模式。目前,越来越多的企业已经在大规模开始拥抱云,在云环境开发应用、部署应用、发布应用。未来,越来越多的开发者也将采用 Cloud Native 来开发应用。本书全面介绍了基于 Cloud Native 来构建应用需要考虑的设计原则和实现方式,涵盖了包括 REST 设计、测试、服务注册、服务发现、安全、数据管理、消息通信、批处理、任务调度、运营、容器部署、持续发布等在内的 Cloud Native 常见技术。同时,书中所介绍的技术方案,皆为业界主流的技术,极具前瞻性。最后,本书除了讲解 Cloud Native 的理论知识,还会在每个知识点上辅以大量的代码案例,使理论可以联系实际,具备更强的可操作性。本书主要面向的是对分布式系统、微服务、Cloud Native 开发感兴趣的计算机专业的学生、软件开发人员、系统架构师。
|
| 作者简介: |
|
柳伟卫(waylau),在 IT 公司担任项目经理、架构师、高级开发顾问等职位,具有多年软件开发管理及系统架构经验。负责过多个省、国家级大型分布式系统的设计与研发,参与了多个大型项目的微服务架构的技术改造,在实际工作中,积累了大量的微服务架构经验。是 CSDN、 开源中国、云栖社区等技术社区专家。《Spring Cloud 微服务架构开发实战》专著。
|
| 章节目录: |
|
目录 第1章?Cloud Native 概述 1.1?当今软件发展的现状 1.1.1?软件需求的发展 1.1.2?开发方式的巨变 1.1.3?云是大势所趋 1.2?Cloud Native 的特性 1.2.1?以云为基础架构 1.2.2?云服务 1.2.3?无服务 1.2.4?可扩展 1.2.5?高可用 1.2.6?敏捷 1.2.7?云优先 1.3?12-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.1?Amazon 1.4.2??? Netflix 1.4.3?淘宝网 1.5?Cloud Native 与微服务 1.5.1?微服务概述 1.5.2?从单块架构向微服务演进 1.5.3?Cloud Native 与微服务部署 1.6?总结 1.6.1?Cloud Native 的优点 1.6.2?Cloud Native 不是“银弹” 1.6.3?面临的挑战 第2章?REST API 2.1?REST 概述 2.1.1?REST 的定义 2.1.2?REST 设计原则 2.2?成熟度模型 2.2.1?第0级:使用 HTTP 作为传输方式 2.2.2?第1级:引入了资源的概念 2.2.3?第2级:根据语义使用 HTTP 动词 2.2.4?第3级:使用 HATEOAS 2.3?Java REST 2.3.1?JAX-RS 规范 2.3.2?Jersey 框架 2.3.3?Apache CXF 框架 2.3.4?Spring Web MVC 框架 2.4?内容协商 2.4.1?二进制数据 2.4.2?Google Protocol Buffers 传输协议 2.5?异常处理 2.5.1?HTTP 状态码 2.5.2?自定义异常信息 2.6?API 管理 2.6.1?版本化 2.6.2?文档化 2.6.3?可视化 2.7?客户端 2.7.1?浏览器插件 2.7.2?JAX-RS 客户端 2.7.3?Spring 客户端 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.2?Mock 与 Stub 的区别 3.3.3?微服务的集成测试 3.3.4?微服务的系统测试 3.3.5?保障代码覆盖率 3.4?Spring 测试框架 3.4.1?Spring TestContext 框架 3.4.2?Spring MVC Test 框架 3.4.3?Spring Boot Test 框架 第4章?服务路由 4.1?如何找到服务 4.1.1?DNS 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.2?Java 安全框架 5.2.1?Apache Shiro 5.2.2?Spring Security 5.2.3?Spring Cloud Security 5.3?OAuth 2.0 认证 5.3.1?OAuth 2.0 的认证原理 5.3.2?OAuth 2.0 的核心概念 5.3.3?OAuth 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.2?NoSQL 6.2?DDD 与数据建模 6.2.1?DDD 概述 6.2.2?运用 DDD 进行数据建模 6.3?常用数据访问方式 6.3.1?JDBC 6.3.2?Spring JDBC 6.3.3?JPA 6.4?Spring Data 6.4.1?Spring Data 概述 6.4.2?Spring Data JPA 6.4.3?Spring Data Elasticsearch 6.4.4?Spring Data Redis 6.4.5?Spring Data MongoDB 6.4.6?实战:基于 MongoDB 的文件服务器 第7章?Cloud Native 消息通信 7.1?消息通信概述 7.1.1?消息通信的基本概念 7.1.2?JMS 7.1.3?事件驱动的架构 7.2?消息通信常用模式 7.2.1?点对点模式 7.2.2?发布—订阅模式 7.3?CQRS 7.3.1?CQRS 概述 7.3.2?CQRS 的好处 7.3.3?实战:实现 CQRS 7.4?Spring Cloud Stream 7.4.1?Spring Cloud Stream 概述 7.4.2?Spring Cloud Stream 实现发布者 7.4.3?Spring Cloud Stream 实现消费者 7.4.4?实战:基于 Spring Cloud Stream 的消息通信 第8章?Cloud Native 批处理 8.1?批处理概述 8.1.1?需要批处理的原因 8.1.2?常用批处理实现方式 8.2?JDBC Batch 8.2.1?Statement 与 PreparedStatement 8.2.2?实战:使用 JDBC Batch 的例子 8.3?Spring 批处理 8.3.1?使用 JdbcTemplate 实现批处理 8.3.2?批量更新 List 8.3.3?多个批次更新 8.4?Spring Batch 8.4.1?Spring Batch 概述 8.4.2?Job 8.4.3?JobLauncher 8.4.4?JobRepository 8.4.5?Step 8.4.6?ItemReader 8.4.7?ItemWriter 8.4.8?ItemProcessor 8.4.9?实战:使用 Spring Batch 的例子 第9章?Cloud Native 任务调度 9.1?任务执行与调度概述 9.2?Spring TaskExecutor 9.2.1?TaskExecutor 类型 9.2.2?TaskExecutor 应用 9.3?Spring TaskScheduler 9.3.1?Trigger 接口 9.3.2?Trigger 接口的实现 9.4?Spring 任务调度及异步执行 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?运行 附录?本书所涉及的技术及相关版本 参考文献
|
| 精彩片段: |
|
|
| 书 评: |
|
|
| 其 它: |
|
|
|