微服务架构基础黑马程序员.pdf
http://www.100md.com
2020年11月19日
![]() |
| 第1页 |
![]() |
| 第4页 |
![]() |
| 第13页 |
![]() |
| 第30页 |
![]() |
| 第39页 |
![]() |
| 第175页 |
参见附件(155187KB,192页)。
微服务架构基础(Spring Boot+Spring Cloud+Docker)以Spring Boot+Spring Cloud+Docker技术为基础,从当下流行的微服务架构理念出发,详细讲解了微服务和微服务架构方面的技术知识

内容简介
全书共分为四部分:第一部分“微服务概述”,主要讲解微服务的由来、概念、特点和微服务架构等;第二部分“微服务的开发”,主要讲解微服务开发框架Spring Boot的使用;第三部分“微服务架构的构建”,主要讲解如何使用Spring Cloud的相关组件来构建微服务架构;第四部分“微服务的部署”,主要讲解Docker技术,以及如何在Docker中部署微服务项目。
本书适合所有Java开发人员,尤其适合正在学习微服务,以及正在尝试使用微服务架构开发项目的人员阅读和参考。
作者简介
黑马程序员,传智播客旗下高端IT教育品牌,成立于2006年,它是由中国Java培训领先者张孝祥老师发起,联合全球*大的中文IT社区CSDN、中关村软件园共同创办的一家专业教育机构。办学至今,我们一直坚守着“为千万人少走弯路而著书,为中华软件之崛起而讲课”的办学理念,坚持培养优秀软件应用工程师的宏伟目标,在累计培养的十万余名学员中,其中90%的学员均已在北、上、广等一线城市高薪就业。
如何使用本书
本书适用于具有一定Java Web框架(如Spring框架)、Maven工具和Linux系统使用基础的技术人员,以及对微服务感兴趣的业务人员学习。对于想深入学习的非技术人员,建议先掌握Java框架技术、Maven工具以及Linux系统的使用。
本书在Spring Boot + Spring Cloud + Docker的基础上,详细讲解了微服务架构技术使用的相关知识。在编写时,作者力求将一些非常复杂、难以理解的思想和问题简单化,使读者能够轻松、快速地掌握这些知识点。本书共10章,每章的内容如下。
第1章讲解微服务及其相关的技术。主要包括微服务和微服务架构的概念、产生背景、微服务架构的优势与不足、如何搭建微服务架构,以及如何选择微服务架构技术。通过本章的学习,读者将对微服务及其相关概念有一定的了解,并熟识常用的微服务架构技术。
第2章对Spring Boot的由来、特点、使用要求、入门程序以及工作机制进行详细讲解。
通过本章的学习,读者可以体会到Spring Boot框架的方便和高效,并能了解Spring Boot的执行过程。
第3章讲解如何使用Spring Boot与其他技术进行集成开发,内容包括Spring Boot与MyBatis框架的集成、与Redis的集成,以及与ActiveMQ的集成。通过本章的学习,读者将熟悉如何在实际开发中应用Spring Boot。
第4章讲解微服务架构中的服务发现以及客户端负载均衡。服务发现是通过Spring Cloud Eureka实现的,而客户端负载均衡是通过Spring Cloud Ribbon实现的。
第5章讲解微服务架构中的服务容错保护、API网关服务,以及分布式配置管理的使用知识,其中服务容错保护使用的是Spring Cloud Hystrix,API网关服务使用的是Spring Cloud Zuul,分布式配置管理使用的是Spring Cloud Config。学习完本章后,结合前面所学知识,读者将可以搭建一个比较完整的微服务架构。
第6章讲解Docker入门的一些基础知识,内容包括Docker的概念和特点、安装要求和安装方式,以及运行机制。通过本章的学习,读者可以对Docker的概念及其体系架构有一个初步的了解,并能够掌握在Ubuntu系统上安装Docker的几种方式。
第7章讲解Docker的基本使用及镜像管理的一些知识,内容涉及Dockerfile文件、Docker客户端的常用指令等。通过本章的学习,读者可以掌握Docker的基本使用,同时能够掌握Docker中的镜像管理。
第8章讲解Docker中的网络与数据管理知识,内容包括Docker的默认网络和自定义网络管理、Docker Swarm的集群、Docker的数据存储,以及Volumes数据卷的管理。通过本章的学习,读者可以对Docker中的网络、数据管理以及Docker Swarm的基本知识有一定的了解,同时能够掌握Docker中自定义的网络管理和Volumes数据卷管理的具体使用方法。
第9章讲解微服务项目的整合以及接口测试的相关知识,内容包括使用微服务架构搭建的一个商城管理系统,以及接口可视化工具Swagger-UI的使用。通过本章的学习,读者可以对微服务项目的使用有进一步的认识,熟悉Spring Boot和Spring Cloud相关组件的整合开发,同时还可以掌握接口测试工具Swagger-Ul的简单使用。
第10章讲解有关微服务部署的相关知识,内容涉及Docker Comopse编排工具、微服务与Docker的整合、微服务手动部署,以及使用Jenkins完成微服务的自动化部署等内容。通过本章的学习,读者可以掌握微服务与Docker的整合,同时能够掌握如何使用Jenkins完成微服务项目的自动化集成和部署。
在学习过程中,读者一定要亲自实践书中的案例代码,如果不能完全理解书中所讲的知识点,可以登录博学谷平台,通过平台中的教学视频进行辅助学习。另外,如果读者在理解知识点的过程中遇到困难,建议不要纠结于某个地方,可以先往后学习。通常来讲,随着对后面知识的不断深入了解,前面看不懂的知识点一般就能理解了。如果读者在动手练习的过程中遇到问题,建议多思考,理清思路,认真分析问题发生的原因,并在问题解决后多总结。
本书采用基础知识+案例相结合的编写方式,通过基础知识的讲解与案例的巩固,可以使读者快速地掌握技能点。
微服务架构的概念
微服务架构是一种架构风格和架构思想,它倡导我们在传统软件应用架构的基础上,将系统业务按照功能拆分为更加细粒度的服务,所拆分的每一个服务都是一个独立的应用,这些应用对外提供公共的API,可以独立承担对外服务的职责,通过此种思想方式所开发的软件服务实体就是“微服务”,而围绕着微服务思想构建的一系列体系结构(包括开发、测试、部署等),我们可以将它称之为“微服务架构”。
根据微服务架构的定义,将传统单体架构拆分为微服务架构的方式
微服务架构已将传统单体架构中的订单服务、商品服务和用户服务拆分为了独立的服务,其中的每一个服务都是一个独立的应用,可以访问自己的数据库,这些服务对外提供公共的API,并且服务之间可以相互调用。
微服务架构的不足
微服务架构除了有上面所讲的各种优点外,还存在着一些不足,这些不足的具体表现如下。
1,开发人员必须处理创建分布式系统的复杂性
开发工具(或IDE)是面向构建传统的单体应用程序的,不为开发分布式应用程序提供全面功能上的支持。
测试更加困难。在微服务架构中,服务数量众多,每个服务都是独立的业务单元,服务主要通过接口进行交互,如何保证依赖的正常,是测试面临的主要挑战。
开发人员必须实现服务间的通信机制。
实现用例跨多个服务时,需要面对使用分布式事务管理的困难。
实现跨多个服务的用例,需要团队之间进行仔细的协调。
2,部署的复杂性
在部署和管理时,由许多不同服务类型组成的系统的操作比较复杂,这将要求开发、测试及运维人员有相应的技术水平。
3,增加内存消耗
微服务架构用多个服务实例取代了1个单体应用程序实例,如果每个服务都运行在自己的JVM中,那么有多少个服务实例,就会有多少个实例在运行时的内存开销。
微服务架构基础黑马程序员截图



您现在查看是摘要介绍页, 详见PDF附件(155187KB,192页)。





