以SpringBoot2SpringCloud和Docker,实现横向可扩展的高可用架构
内容简介:
目前微服务的现状是概念多于实践,管理和架构人员往往不知道如何落地微服务,本书从软件工程的角度切入,融入了作者多年的管理及架构经验,内容完全基于实际经验所得,直击痛处。通过阅读本书,开发人员能够实现微服务的快速落地。
全书共12章,分为概念篇、开发篇、运维篇和实战篇。概念篇详细阐述微服务的由来和设计要点。开发篇介绍Spring Boot、Docker 和Spring Cloud应用于微服务的案例,并且附有源代码。运维篇从测试、快速开发、质量管理、自动化运维和监控的角度介绍微服务涉及的知识点。实战篇将企业级开发中涉及的内容尽可能详细地列出。
前言:
从分布式服务到SOA,再到微服务,服务化的脚步一直在不断地前进。 正所谓“分久必合,合久必分”,在企业高速发展的今天,单体架构已经很难适应业务的快速变化,微服务的出现,为应对快速变化的业务需求、冗长的开发周期提供了一种新的解决方案。它以模块化的思维应对快速变化的业务需求,使用比如自动化部署、自动化业务监控预警、调用链监控、容器化,以及快速开发等思想加快软件的开发周期,实现更快速、更高质量的交付,整体提高客户的满意度。
第一部分:概念篇
首先从概念的角度出发,让读者对微服务的发展有一个感观的了解,然后从设计理念上给出一些建议。
**第1章:**从微服务的起源和现实业务的角度探讨微服务,使读者能够对微服务有一个感观的认识。
**第2章:**是针对微服务的设计理念进行整理,包括服务如何折分、前后端分离、CAP理论和CQRS等,是一个高层次的指导原则。
第二部分:开发篇
开发篇以Java中常用的微服务框架SpringBoot为基础,介绍SpringBoot的快速开发,以及Docker技术的基础,并且完成两者的无缝结合。接着对Spring Cloud的整体架构进行介绍。
**第3章:**详细地介绍Spring Boot的开发,包括使用它的优缺点,以及在企业级开发中常用的工具包的整合,包括面向切面编程、Web开发、文档管理和调度管理,最后结合Dubbo完成一个示例性的分布式工程。
**第4章:**主要讲解Docker的基础操作,介绍微服务中所用到的容器相关的技术,最后给出通,用的基于容器的私有云架构。
**第5章:**对Spring Cloud实现微服务的几个重要框架进行展开描述,让读者了解注册中心、负载均衡、容错、分布式配置、网关和消息总线,能够完成开发层面的微服务架构。
第6章:对Spring Cloud的非核心框架进行介绍,包括Consul、ZooKeeper、 安全框架和数据流框架。通过对以上几章的了解,读者应该能够从开发的角度基本掌握微服务的开发。
第三部分:运维篇
在微服务中,涉及的不仅仅是开发,还会涉及很多的点,包括运维、测试、监控和日志管理。
**第7章:**主要对测试和质量管理进行介绍,测试部分包括单元测试、A/B 测试、冒烟和回归测试,质量管理部分主要使用静态代码分析,并且基于SonarQube对代码进行静态检查,以及分析代码的总体质量。
**第8章:**对微服务的最佳实践JHipster进行系统的介绍,并且对JHipster部分内容做了处理,将在国内不是很流行的部分进行了处理,尽可能详细地介绍JHipster的应用和配置。
**第9章:**主要对自动化部署进行介绍,因为微服务的目的不仅仅是简化开发,而且能够提高整个团队的运行效率。所以私服的使用和自动化运维就显得非常重要。
**第10章:**主要讲解日志收集和APM监控,对于线上系统来说,出现问题的概率还是非常大的,如何快速定位并第–时间找到问题所在的点就显得非常重要。APM部分对常用的监控工具进行列举,重点介绍Pinpoint,对使用和邮件告警也进行了重点介绍。通过以上几章的了解,读者应该能够充分理解DevOps的概念,并且了解微服务并不单纯是开发人员的工作,而是整个团队的协同合作。
第四部分:实战篇
第11章:通过对PiggyMetrics的全面讲解,让读者能够了解一个简单的微服务架构所包含的技术点和构建原则,并且实际部署微服务,完成业务的基础操作。
**第12章:**对在微服务构建过程中可能涉及的技术点进行讲解,包括工作流引擎、规则引擎、调度系统、分布式配置及单点登录。
通过以上几章的学习,读者应该能够在技术选型的过程中扩展思路,了 解更多的分布式业务涉及的扩展知识,并且有选择地应用到业务中。
如果大家喜欢小编的文章可以关注、转发,万分感谢!