微服务架构实战9787121343421电子工业pdf下载

微服务架构实战9787121343421电子工业百度网盘pdf下载

作者:
简介:微服务架构实战9787121343421电子工业
出版社:
出版时间:2018-06
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

基本信息

  • 商品名:微服务架构实战9787121343421
  • ISBN:9787121343421
  • 定价:89
  • 出版社:电子工业出版社
  • 作者:张锋

参考信息(以实物为准)

  • 出版时间:2018-06-01
  • 印刷时间:
  • 版次:1
  • 印次:1
  • 包装:平装
  • 开本:16开
  • 用纸:胶版纸
  • 页数:408
  • 字数:489600

产品特色

编辑推荐

从微服务的架构设计模式和技术造型入手,以Spring Boot 2、Spring Cloud和Docker为构建框架,实现横向可扩展的高可用架构

洞悉微服务的构建流程,从实战的角度介绍微服务使用的关键框架,依据敏捷开发的原则,快速迭代,以完整的示例实现整个CI/CD的流程,快速响应需求

 


内容简介

本书从大型网站的架构设计模式以及技术造型着手,以Spring Cloud和Docker为构建框架,实现横向可扩展的高可用架构。项目分层清晰,包括完备的质量和监控体系。依据敏捷开发的原则,快速迭代,以完整的示例实现整个CI/CD的流程,快速响应需求。在本书的□后,会精选在项目中应用的几个开源框架,以期读者能够在阅读完本书后,快速掌握并应用微服务相关的知识。

前言序言

前言



从分布式服务到SOA,再到微服务,服务化的脚步一直在不断地前进。正所谓“分久必合,合久必分”,在企业高速发展的今天,单体架构已经很难适应业务的快速变化,微服务的出现,为应对快速变化的业务需求、冗长的开发周期提供了一种新的解决方案。它以模块化的思维应对快速变化的业务需求,使用比如自动化部署、自动化业务监控预警、调用链监控、容器化,以及快速开发等思想加快软件的开发周期,实现更快速、更高质量的交付,整体提高客户的满意度。

内容介绍

本书系统地介绍了微服务涉及的各种知识点,横跨软件开发的整个生命周期,采用目前前沿的技术进行知识点的展开。微服务是一个概念,就像SOA一样,可能在不同的环境中会产生不同的设计方案。但是总的来说,微服务是为了解决高并发、大数据量的问题而产生的分布式的综合系统解决方案。

本书的内容安排非常有层次感,对于软件开发和从业人员从整体上了解和掌握微服务所需要的知识点进行了全面的梳理。

本书可以分为概念篇、开发篇、运维篇和实战篇。

概念篇

首先从概念的角度出发,让读者对微服务的发展有一个感观的了解,然后从设计理念上给出一些建议。

□□章从微服务的起源和现实业务的角度探讨微服务,使读者能够对微服务有一个感观的认识。

第2章是针对微服务的设计理念进行整理,包括服务如何折分、前后端分离、CAP理论和CQRS等,是一个高层次的指导原则。

开发篇

开发篇以Java中常用的微服务框架Spring Boot为基础,介绍Spring Boot的快速开发,以及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章主要对自动化部署进行介绍,因为微服务的目的不仅仅是简化开发,而且能够提高整个团队的运行效率。所以私服的使用和自动化运维就显得非常重要。

□□0章主要讲解日志收集和APM监控,对于线上系统来说,出现问题的概率还是非常大的,如何快速定位并□□时间找到问题所在的点就显得非常重要。APM部分对常用的监控工具进行列举,重点介绍Pinpoint,对使用和邮件告警也进行了重点介绍。

通过以上几章的了解,读者应该能够充分理解DevOps的概念,并且了解微服务并不单纯是开发人员的工作,而是整个团队的协同合作。

实战篇

□□1章通过对PiggyMetrics的全面讲解,让读者能够了解一个简单的微服务架构所包含的技术点和构建原则,并且实际部署微服务,完成业务的基础操作。

□□2章对在微服务构建过程中可能涉及的技术点进行讲解,包括工作流引擎、规则引擎、调度系统、分布式配置及单点登录。

通过以上几章的学习,读者应该能够在技术选型的过程中扩展思路,了解更多的分布式业务涉及的扩展知识,并且有选择地应用到业务中。

勘误和支持

随着技术的进步,微服务的架构也会有不同的演化,就像Spring 5的发布一样,为前后端分离进一步奠定了基础。本书中涉及的内容大多是个人的理解和认知,难免有不足之处,所以本书中提及的知识点主要作为抛砖引玉之用,如果有错误之处,还请读者指正。

由于笔者水平有限,且编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果您有问题或者宝贵意见,欢迎发送邮件至邮箱cloudskyme@163.com,期待能够得到您的反馈。

致谢

首先要感谢我的家人,没有他们默默的支持,我不可能坚持完成本书的创作。

然后要感谢电子工业出版社博文视点的陈晓猛等编辑对本书内容的校对、勘正及反复核对,感谢你们的付出。

□后感谢在写作过程中给予我帮助的朋友们。


张 锋


目录

目录


□□章 微服务概述
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 设计原则之CAP
2.10 设计原则之EDA事件驱动
2.11 设计原则之CQRS
2.12 设计原则之基础设施自动化
2.13 设计原则之数据一致性
2.14 设计原则之设计模式
2.15 设计原则之DevOps
2.16 设计原则之无状态服务
2.17 小结
第3章 微服务之Spring Boot
3.1 一切从简单开始
3.2 快速集成第三方的Starter
3.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 JOOQ
3.4.4 事务处理
3.4.5 整合Redis
3.4.6 整合队列
3.4.7 操作MongoDB
3.5 Web开发
3.6 懒人的接口文档管理
3.7 优化的调度
3.8 健康是永恒的主题
3.9 强强联合之整合Dubbo
3.10 小结
第4章 微服务之Docker
4.1 Docker原理
4.2 更轻量级的虚拟化
4.3 三个概念理解Docker
4.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 link
4.5.3 跨主机访问
4.6 Docker数据卷
4.6.1 数据卷
4.6.2 数据卷容器
4.7 Spring Boot与Docker
4.8 搭建自己的镜像仓库
4.8.1 安装和启动
4.8.2 使用
4.9 Kubernetes
4.10 私有云整体架构
4.11 小结
第5章 微服务之Spring Cloud
5.1 注册中心
5.1.1 常用的注册中心
5.1.2 Eureka介绍
5.1.3 服务发现
5.1.4 简单注册
5.2 负载均衡
5.2.1 Spring Cloud的负载实现
5.2.2 Ribbon
5.2.3 Feign
5.2.4 加入core
5.3 微服务容错(Hystrix)
5.3.1 雪崩的形成
5.3.2 应对方案
5.3.3 降级和熔断
5.3.4 Hystrix
5.3.5 集中监控
5.4 分布式配置中心
5.5 API网关
5.5.1 为什么需要网关
5.5.2 Zuul
5.6 消息总线(Spring Cloud Bus)
5.7 小结
第6章 微服务之Spring Cloud其他框架
6.1 Spring Cloud Consul
6.2 Spring Cloud ZooKeeper
6.3 Spring Cloud archaius
6.4 Spring Cloud Task
6.5 Spring Cloud Security
6.5.1 HTTP Basic Authentication
6.5.2 JWT
6.5.3 OAuth 2
6.5.4 Spring Cloud Security
6.6 Spring Cloud Sleuth
6.6.1 服务端
6.6.2 客户端
6.7 Spring Cloud Stream
6.8 Spring Cloud Data Flow
6.9 小结
第7章 微服务之自动化测试与质量管理
7.1 微服务测试
7.2 单元测试
7.2.1 单元测试及覆盖率评估
7.2.2 JUnit
7.2.3 Spring Boot单元测试
7.2.4 Mockito
7.3 API测试
7.3.1 Jmeter
7.3.2 压力测试
7.4 A/B测试
7.5 冒烟和回归测试
7.6 静态代码分析
7.6.1 Checkstyle
7.6.2 FindBugs
7.6.3 PMD
7.7 SonarQube质量监控
7.7.1 为什么使用
7.7.2 安装和使用
7.7.3 安装插件
7.7.4 运行流程
7.8 小结
第8章 微服务之JHipster
8.1 JHipster技术列表
8.1.1 客户端选项
8.1.2 服务端选项
8.1.3 部署选项
8.2 Angular简介
8.3 快速开始JHipster
8.3.1 安装
8.3.2 使用
8.3.3 构建单体应用
8.3.4 Entity sub-generator
8.3.5 开发和运行
8.3.6 插件安装
8.4 目录结构
8.5 构建微服务应用
8.5.1 注册中心
8.5.2 创建微服务网关
8.5.3 Traefik
8.5.4 JHipster UAA
8.5.5 构建微服务应用
8.6 基础配置
8.6.1 JHipster属性配置
8.6.2 作为Maven项目
8.6.3 数据库
8.6.4 DTO
8.6.5 分页
8.6.6 文档
8.7 小结
第9章 微服务之自动化部署
9.1 私有仓库搭建
9.1.1 Nexus介绍
9.1.2 安装与配置
9.1.3 在项目中使用
9.2 Ansible
9.3 持续集成
9.3.1 持续集成流程
9.3.2 Jenkins介绍与安装
9.3.3 Maven介绍
9.3.4 Jenkins系统设置
9.3.5 集成Sonar
9.3.6 构建工程
9.3.7 配置测试
9.4 灰度发布
9.5 小结
□□0章 微服务之日志收集与监控
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 Zabbix
10.3.2 Open-Falcon
10.4 APM监控
10.4.1 Pinpoint
10.4.2 SkyWalking
10.4.3 Zipkin
10.4.4 CAT
10.5 Pinpoint的安装与使用
10.5.1 Pinpoint的安装
10.5.2 Pinpoint的使用
10.5.3 Pinpoint实现邮件告警
10.6 小结
□□1章 完整示例
11.1 安装Lombok
11.2 PiggyMetrics
11.3 整体架构
11.3.1 配置Spring Cloud Config
11.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 小结
□□2章 微服务核心功能推荐
12.1 工作流引擎
12.1.1 Activiti
12.1.2 UFLO
12.2 规则引擎
12.2.1 Drools
12.2.2 URule
12.3 调度系统
12.4 消息推送
12.5 网关中间件
12.5.1 Orange
12.5.2 Kong
12.5.3 Zuul
12.6 分库分表中间件
12.6.1 Sharding-JDBC
12.6.2 MyCat
12.7 报表引擎
12.8 数据处理
12.8.1 Spring Batch
12.8.2 Kettle
12.9 并发编程
12.10 分布式配置
12.10.1 Disconf
12.10.2 Apollo
12.11 CAS
12.12 WebFlux
12.13 小结

作者简介

张锋,北京航空航天大学软件工程硕士,资深架构师,有十多年管理和架构经验,在业界颇具威望和影响力。

曾就职于神州数据、亚信科技、中文在线及多家互联网公司,担任架构师及技术总监等职位,现在就职于中青旅,任架构组组长,曾成功管理和指导过三农综合服务信息平台、西北企业云服务平台、省级电信平台及多个互联网平台的架构升级改造。

拥有工信部认证高级信息系统项目管理师资格。


精彩书评

架构的演进是循序渐进并非一蹴而就的,随着时代的更替,我们对于不同时期、阶段的技术发展,也有着不一样的理解和选择。在互联网+和大数据的时代下,如今的软件架构已经从单体、垂直、SOA,发展到微服务架构。本书的作者是业内资深架构师,有着多年的架构从业经验,常年活跃在Spring Cloud社区,致力于企业级微服务的解决方案和落地实现。全书以简洁、循序渐进的风格,由浅入深,从易到难,清晰地向读者介绍了微服务的技术思想和整体生态,不仅适合初学者入门,也适合有经验的人员进阶,值得一看。

美团无人配送部

高级技术专家      刘审川 博士


本书以实践为主,内容涵盖了微服务的整个生态,详细解释了实践微服务必须要面对的架构模式。

本书系统地介绍了微服务的设计、开发、运维等方面,结合了Spring Boot和Docker等热点技术,对微服务的整个生命周期做了全面介绍,适合对微服务实践感兴趣,以及想成为微服务架构师的人员阅读。

*当网

技术总监 穆幽方


为适应市场的变化,企业自身的技术需要不断迭代。如何减少频繁迭代带来的开销成为架构师、开发和运维等人不断思考的问题,“微服务”似乎成为了一个非常好的选择。本书全面地介绍了微服务相关知识。

作者从基本概念谈起,循序渐进地介绍了各种实用技术,无论你处在技术链中的哪个环节,都能找到对应的知识点并快速学习,同时能了解其他环节的工作内容,值得技术爱好者收藏和学习。

中文在线

运维经理 姜楠


随着微服务的兴起,我们可以看到微服务正逐步应用在企业中,与之带来的改变不言而喻,微服务的独立部署、可扩展性架构等特点可以帮助企业提高生产效率、节省成本。本书围绕一个中心,从微服务的概念、架构、管理、应用等方面层层深入,并通过翔实的案例结合实践进行展开,能够助力企业快速实施与部署微服务,值得一读。

柏睿数据科技(北京)有限公司

产品总监 韩辉辉


在软件工程开发的技术序列里,常常是极强必简。《微服务架构实战》就是这种用简洁的论述解决复杂问题的好书。作者张锋从实践中来到实践中去,将强大的微服务开发武器,用简约易懂的方式展现在读者面前,值得广大求道而解惑的技术人员深入领会。

丽华数据分析引擎工作室

技术总监 吉更


微服务目前已经成为主流互联网技术架构,在处理复杂业务解耦的问题上屡试不爽。本书作者张锋长期活跃在Spring Cloud社区,致力于帮助企业完成微服务改造,并提供咨询服务。本书作为全面的企业微服务架构实践指南,不仅可以帮助初识微服务的开发者完成微服务架构的搭建,也可以帮助正在实践微服务架构的团队解决实际问题。作者长期从事技术类博文的撰写,擅于深入浅出地讲解枯燥晦涩的技术细节,娴熟的文笔在很大程度上可以帮助读者轻松掌握书中的知识点。

北京环宇万维科技有限公司

技术经理 苏忠亮


当下,越来越多的企业选择与互联网深度融合,基于互联网搭建信息化平台。在平台搭建的过程中,必然要考虑到后期的日常运营带来的爆炸式数据增长所催生出的如高并发、秒级响应速度、分布式部署等一系列问题。微服务的应用正是应对这类严峻考验的*佳解决方案。本书是微服务领域比较完善的实践探索经验的结晶,从微服务的思想基础、设计原则,衍生到Sping Boot、Docker、Spring Cloud及其他框架的介绍,不仅涉及微服务的自动化测试与质量管理、自动化部署、日志收集与监控,还提供完整的实战示例,并进行了核心功能推荐的全方位介绍。全书清晰、透彻地剖析了微服务的整个生态,书中还配有许多系统插图,有助于读者快速提升对微服务的认知,构建自己的架构体系。此书具有极高的可读性和应用价值,可谓开卷有益,是践行微服务的上佳选择。

北京亿心宜行汽车技术开发服务有限公司技术部

高软开发工程师 邓威