微服务架构实战出版时间: 2018内容简介 本书从大型网站的架构设计模式以及技术造型着手,以Spring Cloud和Docker为构建框架,实现横向可扩展的高可用架构。项目分层清晰,包括完备的质量和监控体系。依据敏捷开发的原则,快速迭代,以完整的示例实现整个CI/CD的流程,快速响应需求。在本书的最后,会精选在项目中应用的几个开源框架,以期读者能够在阅读完本书后,快速掌握并应用微服务相关的知识。图书目录第1章 微服务概述1.1 什么是微服务1.2 为什么微服务1.2.1 区别1.2.2 从单体应用说起1.2.3 第一步切分1.2.4 服务化所带来的问题1.2.5 微服务的可扩展性1.2.6 微服务与SOA的区别1.3 常见的微服务组件1.4 常用的微服务框架1.4.1 Spring顶级项目1.4.2 背景1.4.3 社区活跃度1.4.4 架构完整度1.4.5 总结1.5 微服务架构设计模式1.6 如何实施微服务1.7 小结第2章 微服务设计原则2.1 设计原则之分层架构2.2 设计原则之统一通信协议2.3 设计原则之单一职责2.4 设计原则之服务拆分2.5 设计原则之前后端分离2.6 设计原则之版本控制2.7 设计原则之围绕业务构建2.8 设计原则之并发流量控制2.9 设计原则之CAP2.10 设计原则之EDA事件驱动2.11 设计原则之CQRS2.12 设计原则之基础设施自动化2.13 设计原则之数据一致性2.14 设计原则之设计模式2.15 设计原则之DevOps2.16 设计原则之无状态服务2.17 小结第3章 微服务之Spring Boot3.1 一切从简单开始3.2 快速集成第三方的Starter3.3 降低开发复杂度之面向切面3.3.1 前置通知3.3.2 后置返回通知3.3.3 后置异常通知3.3.4 后置最终通知3.3.5 环绕通知3.3.6 AOP总结3.4 并不复杂的持久化3.4.1 单数据源3.4.2 多数据源3.4.3 JOOQ3.4.4 事务处理3.4.5 整合Redis3.4.6 整合队列3.4.7 操作MongoDB3.5 Web开发3.6 懒人的接口文档管理3.7 优化的调度3.8 健康是永恒的主题3.9 强强联合之整合Dubbo3.10 小结第4章 微服务之Docker4.1 Docker原理4.2 更轻量级的虚拟化4.3 三个概念理解Docker4.3.1 镜像(Image)4.3.2 容器(Container)4.3.3 仓库(Repository)4.4 Dockerfile定制一切4.4.1 Dockerfile语法4.4.2 Dockerfile命令4.4.3 Dockerfile构建过程4.4.4 构建Java环境4.4.5 Dockerfile小结4.5 Docker网络4.5.1 网络模式4.5.2 link4.5.3 跨主机访问4.6 Docker数据卷4.6.1 数据卷4.6.2 数据卷容器4.7 Spring Boot与Docker4.8 搭建自己的镜像仓库4.8.1 安装和启动4.8.2 使用4.9 Kubernetes4.10 私有云整体架构4.11 小结第5章 微服务之Spring Cloud5.1 注册中心5.1.1 常用的注册中心5.1.2 Eureka介绍5.1.3 服务发现5.1.4 简单注册5.2 负载均衡5.2.1 Spring Cloud的负载实现5.2.2 Ribbon5.2.3 Feign5.2.4 加入core5.3 微服务容错(Hystrix)5.3.1 雪崩的形成5.3.2 应对方案5.3.3 降级和熔断5.3.4 Hystrix5.3.5 集中监控5.4 分布式配置中心5.5 API网关5.5.1 为什么需要网关5.5.2 Zuul5.6 消息总线(Spring Cloud Bus)5.7 小结第6章 微服务之Spring Cloud其他框架6.1 Spring Cloud Consul6.2 Spring Cloud ZooKeeper6.3 Spring Cloud archaius6.4 Spring Cloud Task6.5 Spring Cloud Security6.5.1 HTTP Basic Authentication6.5.2 JWT6.5.3 OAuth 26.5.4 Spring Cloud Security6.6 Spring Cloud Sleuth6.6.1 服务端6.6.2 客户端6.7 Spring Cloud Stream6.8 Spring Cloud Data Flow6.9 小结第7章 微服务之自动化测试与质量管理7.1 微服务测试7.2 单元测试7.2.1 单元测试及覆盖率评估7.2.2 JUnit7.2.3 Spring Boot单元测试7.2.4 Mockito7.3 API测试7.3.1 Jmeter7.3.2 压力测试7.4 A/B测试7.5 冒烟和回归测试7.6 静态代码分析7.6.1 Checkstyle7.6.2 FindBugs7.6.3 PMD7.7 SonarQube质量监控7.7.1 为什么使用7.7.2 安装和使用7.7.3 安装插件7.7.4 运行流程7.8 小结第8章 微服务之JHipster8.1 JHipster技术列表8.1.1 客户端选项8.1.2 服务端选项8.1.3 部署选项8.2 Angular简介8.3 快速开始JHipster8.3.1 安装8.3.2 使用8.3.3 构建单体应用8.3.4 Entity sub-generator8.3.5 开发和运行8.3.6 插件安装8.4 目录结构8.5 构建微服务应用8.5.1 注册中心8.5.2 创建微服务网关8.5.3 Traefik8.5.4 JHipster UAA8.5.5 构建微服务应用8.6 基础配置8.6.1 JHipster属性配置8.6.2 作为Maven项目8.6.3 数据库8.6.4 DTO8.6.5 分页8.6.6 文档8.7 小结第9章 微服务之自动化部署9.1 私有仓库搭建9.1.1 Nexus介绍9.1.2 安装与配置9.1.3 在项目中使用9.2 Ansible9.3 持续集成9.3.1 持续集成流程9.3.2 Jenkins介绍与安装9.3.3 Maven介绍9.3.4 Jenkins系统设置9.3.5 集成Sonar9.3.6 构建工程9.3.7 配置测试9.4 灰度发布9.5 小结第10章 微服务之日志收集与监控10.1 ELK搜集与分析10.1.1 工作流程10.1.2 日志格式10.1.3 平台搭建10.2 系统监控10.2.1 监控策略和监控对象10.2.2 进程监控10.2.3 数据波动监控10.2.4 常用监控命令10.3 运维监控10.3.1 Zabbix10.3.2 Open-Falcon10.4 APM监控10.4.1 Pinpoint10.4.2 SkyWalking10.4.3 Zipkin10.4.4 CAT10.5 Pinpoint的安装与使用10.5.1 Pinpoint的安装10.5.2 Pinpoint的使用10.5.3 Pinpoint实现邮件告警10.6 小结第11章 完整示例11.1 安装Lombok11.2 PiggyMetrics11.3 整体架构11.3.1 配置Spring Cloud Config11.3.2 授权服务11.3.3 API网关11.3.4 服务发现11.3.5 负载均衡器、断路器和HTTP客户端11.3.6 监控仪表盘11.3.7 日志分析11.4 安装和运行11.4.1 配置Maven并导入工程11.4.2 安装11.4.3 使用11.4.4 如何变成自己的项目11.5 小结第12章 微服务核心功能推荐12.1 工作流引擎12.1.1 Activiti12.1.2 UFLO12.2 规则引擎12.2.1 Drools12.2.2 URule12.3 调度系统12.4 消息推送12.5 网关中间件12.5.1 Orange12.5.2 Kong12.5.3 Zuul12.6 分库分表中间件12.6.1 Sharding-JDBC12.6.2 MyCat12.7 报表引擎12.8 数据处理12.8.1 Spring Batch12.8.2 Kettle12.9 并发编程12.10 分布式配置12.10.1 Disconf12.10.2 Apollo12.11 CAS12.12 WebFlux12.13 小结 上一篇: 新编码NLP [蔡仲淮 著] 下一篇: 高级Android开发强化实战