Spring Cloud 微服务构架设计与实战 (it-ebooks) (Z-Library)

Author: it-ebooks

技术

No Description

📄 File Format: PDF
💾 File Size: 5.8 MB
28
Views
0
Downloads
0.00
Total Donations

📄 Text Preview (First 20 pages)

ℹ️

Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

📄 Page 1
(This page has no text content)
📄 Page 2
扫一扫 钉钉扫一扫 免费领取同步课程 进入官方答疑群 开发者学院【Alibaba Java技术图谱】 阿里云开发者“藏经阁” 更多好课免费学 海量电子书免费下载
📄 Page 3
书籍简介 Java Spring Cloud 是全球范围内最成熟、最完善、最流行的微服务架构方案体系。 被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、 百度、滴滴等。 本次课程涵盖最新版本的 Spring Cloud 微服务架构体系, 微服务架构模式、算法 与典型场景、框架、优缺点,Spring Cloud 2020 的重大变化、扩展 Netflix、Spring Cloud Alibaba 阿里巴巴体系,Dubbo 等架构选型对比,淘宝微服务架构案例。 重点讲解:服务治理、注册发现、熔断限流、网关代理、链路追踪、安全监控等核 心问题,循序渐进,概念为辅、实战为主,涵盖经典面试题。让您成为合格的微服务架 构师。
📄 Page 4
目录 1.0 《Java Spring Cloud 微服务实战》大纲 7 1.1 什么是微服务架构Microservice 12 1.2 微服务架构Microservice 的优缺点 21 1.3 微服务架构Microservice 的典型应用场景 27 1.4 微服务架构Microservice 的淘宝改造案例 34 1.5 微服务架构Microservice 的经典协议 40 1.6 微服务架构Microservice 的开发框架 45 1.7 微服务架构Microservice 的设计策略 52 1.8 微服务架构Microservice 的经典设计模式 58 1.9 Java Spring Cloud 微服务开发环境配置 62 1.10 Spring Cloud 2020 重大变化与选型提示 69
📄 Page 5
2.1 为什么选择 Java Spring Cloud 微服务架构 74 2.2 Spring Cloud 微服务注册与发现 Eureka 81 2.3 Spring Cloud 微服务 API 实战开发并注册到 Eureka 87 2.4 Spring Cloud 客户端 Feign 调用微服务 API 93 2.5 Spring Cloud 微服务 Ribbon 负载均衡算法 101 2.6 Spring Cloud 微服务 API 的监控 Hystrix 107 2.7 Spring Cloud 微服务 API 的 Hystrix 熔断限流降级 116 2.8 Spring Cloud 微服务网关代理Zuul 122 2.9 Spring Cloud 微服务的身份验证与安全机制 131 2.10 Spring Cloud 微服务集群Monitor 监控中心 137 3.1 Spring CloudAlibaba 微服务体系 143 3.2 Spring Cloud AlibabaNacos 经典注册中心对比 1499 3.3 Spring Cloud 开发微服务 API 注册到 Nacos 161
📄 Page 6
3.4 Spring Cloud 客户端 Feign 集成 Nacos 中心 174 3.5 Spring Cloud 使用 Nacos 作为微服务统一配置中心 181 3.6 Spring Cloud 实战集成 Sentinel 熔断限流 193 3.7 Spring Cloud 网关 Zuul 集成 Nacos 注册中心 200 3.8 Spring Cloud Alibaba Seata 分布式事务 204 3.9 Spring Cloud Gateway 微服务新网关实战 210 3.10 Spring Cloud Gateway 实战接入Nacos 服务 216
📄 Page 7
7 > 1.0 《Java Spring Cloud微服务实战》大纲 1.0 《Java Spring Cloud 微服务实战》 大纲 内容简介: 一、微服务架构课程大纲 二、Dubbo 集成 Nacos 注册中心实战 目前微服务架构是非常的火爆,各个大型互联网公司都在使用微服务架构,目前是 以 Java Spring Cloud 的微服务架构为主。本次课程是贴近目前以阿里等 BAT 为首的微 服务架构的技术方案。 一、微服务架构课程大纲 1. 微服务架构理论知识 第一阶段会讲解课程最重要的一个部分—微服务架构体系的基础理论知识。介绍微 服务架构的理论、分布式的协议、微服务架构技术方案的选型以及微服务架构的拆分的 原则。之后会讲解目前几个典型互联公司的案例。这里是以淘宝的微服务架构作为其中 一个重要的一个知识点给大家进行分享,作为供大家学习的一个参考。
📄 Page 8
1.0 《Java Spring Cloud微服务实战》大纲 < 8 2. 微服务实战开发 第二阶段以现在最成熟的 Spring Cloud 微服务架构体系作为实战的主要落地框架。 希望大家不仅能够掌握扎实的微服务架构理论知识,也能够进行实战的架构设计和开发 工作。希望大家成为理论和实战能力结合的技术专家或者架构师。 3. 阿里巴巴微服务 第三个阶段会给大家介绍一下阿里开源的几个经典的微服务架构方案。
📄 Page 9
9 > 1.0 《Java Spring Cloud微服务实战》大纲 在微服务架构体系概念这一板块给大家介绍比较重要的几个知识点,包括微服务架 构优缺点、经典的设计原则、微服架构领域比较经典的设计模式以及淘宝微服务架构设 计案例。 在 Spring Cloud 微服务架构实战阶段,会给大家系统的讲解整个微服务架构的治理 知识、注册和发现、在高频化的情况下如何做到高可用、限流、熔断、网管代理相关内 容以及微服务领域另外一个重要功能-安全。在这里面会涉及到一种必须使用的技术叫令 牌机制。 最后作为扩展阶段的知识,以阿里巴巴开源的微服务框架为主重点介绍阿里开源的 Linux 平台以及 Sentinel -实现熔断、限流非常重要的一个框架。 二、微服务学习路线图
📄 Page 10
1.0 《Java Spring Cloud微服务实战》大纲 < 10 这个部分给大家讲一下整个微服务架构和学习路线图。参考着阿里的 P层级作为参 考,作为微服务架构设计能力对架构师的岗位要求。 微服务架构属于分布式架构,它在早期阶段也有很多重要的框架,比较经典的例如 Dubbo。Dubbo 是阿里巴巴开源非常重要的一个服务治理的框架,它也涉及到很多设计 模式,而且底层也有很多优秀的设计思想。 Dubbo 也在向微服务架构靠拢。我们课程 是以 Spring Cloud 微服务架构为主。Spring Cloud 是出现的最早也是最完善的一套架 构体系。 目前还有另外一个比较重要的技术架构知识叫中台架构。目前有很多大型的互联网 公司也在落地,但这里面涉及的技术不仅仅包括微服务架构。微服务架构可能会成为中 台架构落地重要的一个技术点。 三、阿里最新 Java 课程
📄 Page 11
11 > 1.0 《Java Spring Cloud 微服务实战》大纲 在国内阿里巴巴对 Java 技术的发展贡献是非常大的。阿里巴巴也是国内最大的开源 框架公司,科研项目贡献最多的中国互联网公司。Java 早期缺少典型的解决方案的时候, 阿里巴巴都在公司内部进行大规模的实践,包括淘宝以及支付宝等等这些典型的互联网 项目。
📄 Page 12
1.1 什么是微服务架构Microservice < 12 1.1 什么是微服务架构Microservice 内容简介: 一、什么是微服务架构Microservice? 二、微服务的发展历史 微服务架构目前非常火爆,在架构领域属于当红的明星架构,那么什么是微服务架 构? 微服架构是在移动互联网时代崛起的新架构模式。现在架构模式一般称为 Microservice,本身叫微服务。现在的互联网公司,尤其是国内阿里、腾讯、微博、京东、 拼多多等,严格来说都是微服务架构。
📄 Page 13
13 > 1.1 什么是微服务架构Microservice 回顾历史,这么多年架构的发展最具有代表性是淘宝和腾讯,但是腾讯更像QQ 与 微信的架构,后台主要以 C++为主,是典型的分布式架构软件,直播类、社交类的抖音 也是一个典型的微服架构。 起步较早的淘宝经历过三大阶段,单体到 SOA,再到微服务。微服务架构是 2000 年到 2010 年之间非常火爆的架构,尤其是一些大型的银行项目。同时,它也是分布式架 构非常重要的阶段,是一个代表性的架构。 当年无论是 IBM,还是各大银行的架构师,在技术峰会上基本上讨论的都是 SOA 相 关的概念。微服架构作为现阶段比较火爆的架构,是在其他的架构基础上演化而来,诞 生于分布式 SOA 的技术架构,淘宝是典型的案例。 淘宝早期是单体的,后面开始往分布式,转 Java 去 Ora c l e,并开始用 Microservice,包括引入其他的分布式解决方案,逐步构造今天的微服务架构。后续诞生 的电商公司,大部分都借鉴了淘宝的架构发展历史经验,例如京东在 2010 年开始转 Java,也有类似的微服务框架和解决方案。 为什么国内大公司都是通过 Java 语言来进行编写? 本身编程语言没有优劣之分,对于项目的开发人员、工程师、架构师而言,解决问 题,帮公司创造价值,在技术选型上满足公司不同阶段不同业务的需求,这是基本出发 点。合格的架构师在技术选型时,需要考虑方案落地性,招人成本,组建团队成本以及 后续开发过程中对应的解决方案。
📄 Page 14
1.1 什么是微服务架构Microservice < 14 目前来看,微服务架构是 Spring Cloud 出现得最早,参与公司最多,开源社区最活 跃最成熟的微服务架构解决方案,并且还在不断的迭代演化。 基于 Java、Mysql、Linux 等,阿里不断摸索分布式架构的解决方案,并把积累的经 典解决方案框架都开源供其他公司借鉴学习。 一、什么是微服务架构Microservice? 1. 微服务的定义 1)微服务架构模式 2)Microservice 3)Dr. Peter Rodgers2005 Cloud Computing Expo 技术大会上提出概念 4)2007, Netflix 开始向微服务架构师进发 5)并最终开源了自己研发的 Java 微服务框架 6)开源社区命名为 Spring Cloud 7)微服务是一种新型的 软件架构风格 8)把单个巨型服务应用,分解为多个独立的、微小的服务程序 9)单独部署 10)单独伸缩 11)去中心化:数据中心、管理中心 12)敏捷性、灵活性、需求变化,更加高效的软件架构模式
📄 Page 15
15 > 1.1 什么是微服务架构Microservice 微服务架构诞生在 SOS,最早的时候并不叫微服务架构,而是叫 Micro Web Service,指微小的 web service 程序,使用 Java 写了一套轻量级的微服务架构的解决 方案,是移动互联网时代很重要的一个标志,服务端的接口的应用程序的开始轻量计划。 目前,微服务框架以 recipe 风格为主的一个很重要的原因,后续无论是去中心化、 敏捷开发、单独部署等都是随着程序的微服务化快速开发与部署,逐步诞生了一系列的 经典的工具,辅助用户提升业务应用的开发部署模式与效率。 2. 微小的服务 1)微服务架构:将单个应用拆分成多个独立的、微小的服务。 2)每个小服务程序运行在独立的进程中。 3)服务与服务之间通过轻量协议通信。 4)通信机制互相协作、互相配合,从而为终端用户提供业务价值。 5)每个小服务,可以采用不同的语言、框架、工具 独立开发、测试、部署、运维。 6)微服务:独立的小服务。 Microservice 的简称过来就是微服务,实际指微小的服务程序,之前各个服务程序 都在一个项目中,现在拆开方便进行各个功能单独迭代升级。移动互联网中微服务迭代 的非常快,无论是淘宝的支付宝,还是微信、微博,其他的 APP 都是微服务加工。设置 手机默认浏览器也是,子功能模块它其实都在单独的进行功能迭代的,尤其是国内定制 的浏览器,360 浏览器,腾讯浏览器,百度浏览器其实里面在各种功能基本上也都单独 进行迭代的。杀毒软件也有各种不同的背后通信数据采集的机制。
📄 Page 16
1.1 什么是微服务架构Microservice < 16 3. Microservices In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. -- James Lewis and Martin Fowler James Lewis and Martin Fowler 除了麦飞公司是微服务架构的先驱公司以外,还有几个重要的技术专家,他们不断 宣传微服务架构,他们工作于 thoughtworks 软件咨询架构,中国也有分公司。从他们 做的架构可以看到,咨询师使用微服务架构,微服务架构已成为时代的潮流。
📄 Page 17
17 > 1.1 什么是微服务架构Microservice 4. 微服务 简而言之,微服务架构风格是一种将单个应用程序开发为一套小服务程序的方法, 每个小服务都在自己的进程中运行,并使用轻量级协议(通常是HTTP 协议)进行通信。 这些服务围绕业务功能构建,可通过全自动部署机制独立部署。这些服务很少使用 中心化管理模式,可以用不同的编程语言开发,也可能使用不同的数据存储技术。 -- James Lewis 与 Martin Fowler 现在看到关于微服务架构的一些书籍或公开文章里面,基本上认为现在微服务架构, 通信的接口都是 Rest API,以 HTTP+Jason 格式进行交互。相比传统的 rpc、dubbo、 web service 重量级的框架来说,有些业务场景需要更高性能的通信协议,后续会看到 一些新版本的微服务框架在不断迭代和进化。 5. Wikipedia 定义 1)In computing, microservices is a software architecture style in which complex applications are composed of small, independent processes communi cating with each other using language-agnostic APIs. 2)在计算机领域中,微服务是一种软件架构风格,复杂的应用程序由语言无关的 API、相互通信的小型独立服务进程组成。 3)These services are small building blocks, highly decoupled and focused on doing a small task, facilitating a modular approach to system-building.
📄 Page 18
1.1 什么是微服务架构Microservice < 18 4)这些服务是小型构建模块,高度解耦,专注于完成一项小任务,是一种便捷的模 块化系统构建方法。 在协议这个层次上进行了迭代改造,微服务架构并不是只一种架构,它是复杂架构 的一个代表,里面涉及到很多种设计模式与框架。 二、微服务的发展历史 1)Dr. Peter Rodgers introduced the term “Micro-Web-Services”during a presentation at the Web Services Edge conference in 2005. On slide #4 2)In 2007, Netflix started on a long road towards fully operating in thecloud. 3)A workshop of software architects held near Venice in May 2011used the term “microservice” 。 4)All of these Netflix libraries and systems were open-sourced around2012 5)In May 2012, the same group decided on“microservices” as the most appropriate name。 6)James Lewis presented some of those ideas as a case study in March2 012 at 33rd Degree in Kraków in Microservices - Java, the UnixWay, as did Fred George about the same time. 7)Adrian Cockcroft at Netflix, describing this approach as "fine grained SOA“ 8)2014 年 4 月 25 号,Martin Fowler 发表 Microservices a definition of this new architectural term
📄 Page 19
19 > 1.1 什么是微服务架构Microservice 9)In 2015, Spring Cloud Netflix reached 1.0. 10)2018 年 10 月 31 日 Spring Cloud Alibaba 宣布正式开源,提交给 Spring 方 孵化器 微服务并非全新的架构,回顾计算机历史发展史,会发现基本上无论算法、框架还 是理论知识,都有一个明显的时间线或者依赖关系。后续出现的框架一定比前面的框架 设计的更好,因为它是借鉴或者总结前面经典的设计思想模式,然后进行改进,代表性 公司如麦飞,内部实践并且把框架全部贡献给社区,做出了很大贡献。 Netflix 后续将微服务架构的解决方案全部开源,是 Spring Cloud 最早的一批微服 务框架,目前社区也在用,阿里也把自己的方案打包进行了开源。 1. 微服务架构的发展历史 1)Dr. Peter Rodgers 在 2005年的Web Services Edge conference 大会上演讲, PPT 第 4页引入了“Micro-Web-Services 一词 2)2007 年,Netflix 开始走向全面拆分巨型 SOA 服务的漫长道路。 3)2011 年 5 月在威尼斯附近举办的软件架构师研讨会使用了“微服务”“micros ervices”一词。 4)2012 Netflix 开源了所有的微服务相关工具框架的源码 5)2012 年 5 月, 同一个组织宣布“microservices 是最恰当的名词。 6)James Lewis 在 2012 年 4 月 第 33 届 Degree in Kraków in Microservices- Java, the Unix Way,大会上案例研究分享时提出了类似的想法, Fred George 也大约 在这个时间提出了类似观点.
📄 Page 20
1.1 什么是微服务架构Microservice < 20 7)Netflix 公司的 Adrian Cockcroft, 称为:“fine grained SOA“ 8)2014 年 4 月 25 号,Martin Fowler 发表 Microservices a definition of this new architectural term 9)2015, Spring Cloud Netflix 正式发布 1.0 版本. 成为微服务架构的首选 10)2018 年 10 月 31 日 Spring Cloud Alibaba 宣布正式开源 2. 微服务架构先驱 Martin Fowler (上图右 1),写了很多经典的书:企业应用架构模式重构等、敏捷宣 言 17 发起人之一,目前一直活跃软件架构领域。他是在技术大会上公开进行与演讲、推 广,为领域做出了很大贡献 James Lewis 詹姆斯里维斯(上图下方)微服务架构发明人,在 Thoughtworks 主 要负责服务架构宣传与咨询。 Adrian Cockcroft 阿德里安(上图左一)为麦飞的技术总监,将理论和实践结合的 先驱,基于 Java 框架做出了一套自研微服务解决方案,并且开源给社区。
The above is a preview of the first 20 pages. Register to read the complete e-book.

💝 Support Author

0.00
Total Amount (¥)
0
Donation Count

Login to support the author

Login Now
Back to List