首页 文章详情

19 张图让你秒懂 Spring Cloud 全家桶!【文末送书】

Java技术迷 | 271 2021-07-22 13:07 0 0 0
UniSMS (合一短信)


来源 | cnblogs.com/three-fighter/p/13485459.html

粉丝福利:感谢大家的积极参与,上次送书活动没有中书的朋友请不要灰心,今天的活动继续等着你~这次真不要错过啦~


本文用 19 张思维导图描述微服务相关的概念和架构,建议收藏。包括什么是微服务、架构演进、微服务架构、微服务解决方案、SpringCloud概览、Eureka、Ribbon、Feign、Hystrix、Zuul、Gateway、Config、Bus、OAuth2、Sleuth、什么是SpringCloud、SpringCloud主要组件。

1、什么是微服务 

1.1、架构演进

架构的发展历程是从单体式架构,到分布式架构,到SOA架构,再到微服务架构。

图1:架构演进

  • 单体架构:未做任何拆分的Java Web程序
图2:单体架构示意图

  • 分布式架构:按照业务垂直划分,每个业务都是单体架构,通过API互相调用。

图3:分布式架构示意图

  • SOA架构:SOA是一种面向服务的架构。其应用程序的不同组件通过网络上的通信协议向其它组件提供服务或消费服务,所以也是分布式架构的一种。
图4:SOA架构示意图

1.2、微服务架构

微服务架构在某种程度上是SOA架构的进一步的发展。
微服务目前并没有比较官方的定义。微服务 Microservices 之父,马丁.福勒,对微服务大概的概述如下:
就目前而言,对于微服务业界并没有一个统一的、标准的定义(While there is no precise definition of this architectural style ) 。
但通常在其而言,微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务运行独立的自己的进程中,服务之间互相协调、互相配合,为用户提供最终价值。
服务之间采用轻量级的通信机制互相沟通(通常是基于 HTTP 的 RESTful API ) 。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。
另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建,可以有一个非常轻量级的集中式管理来协调这些服务。可以使用不同的语言来编写服务,也可以使用不同的数据存储。
图5:微服务定义思维导图


图6:微服务架构示意图

1.3、微服务解决方案

目前最流行的两种微服务解决方案是Spring Cloud和Dubbo。

2、SpringCloud概览 

2.0、什么是SpringCloud

Spring Cloud 作为 Java 言的微服务框架,它依赖于 Spring Boot ,有快速开发、持续交付和容易部署等特点。Spring Cloud 的组件非常多,涉及微服务的方方面面,井在开源社区 Spring、Netflix Pivotal 两大公司的推动下越来越完善。
Spring Cloud是一系列组件的有机集合。
图7:SpringCloud技术体系

图8:SpringCloud技术体系思维导图

2.1、SpringCloud主要组件

2.1.1、Eureka

Netflix Eureka 是由 Netflix 开源的一款基于 REST 的服务发现组件,包括 Eureka Server 及 Eureka Client。

2.1.2、Ribbon

Ribbon Netflix 公司开源的一个负载均衡的组件。

2.1.3、Feign

Feign是是一个声明式的Web Service客户端。

2.1.4、Hystrix

Hystrix是Netstflix 公司开源的一个项目,它提供了熔断器功能,能够阻止分布式系统中出现联动故障。

2.1.5、Zuul

Zuul 是由 Netflix 孵化的一个致力于“网关 “解决方案的开源组件。

2.1.6、Gateway

Spring Cloud Gateway 是 Spring 官方基于 Spring 5.0、 Spring Boot 2.0 和 Project Reactor 等技术开发的网关, Spring Cloud Gateway 旨在为微服务架构提供简单、 有效且统一的 API 路由管理方式。

2.1.7、Config

Spring Cloud 中提供了分布式配置中 Spring Cloud Config ,为外部配置提供了客户端和服务器端的支持。

2.1.8、 Bus

使用 Spring Cloud Bus, 可以非常容易地搭建起消息总线。

2.1.9、OAuth2

Sprin Cloud 构建的微服务系统中可以使用 Spring Cloud OAuth2 来保护微服务系统。

2.1.10、Sleuth

Spring Cloud Sleuth是Spring Cloud 个组件,它的主要功能是在分布式系统中提供服务链路追踪的解决方案。

本文中对架构的演进及Spring Cloud 构建微服务的基本组件进行了概览。

本人水平有限,如有错漏,欢迎指出!若有错误或未考虑完全的地方,望不吝赐教,留言区讨论!

👇👇👇👇👇

赠书福利来袭啦

联合清华大学出版社为大家送福利

随着人工智能技术的发展,人类对智能化服务更加渴望,聊天机器人成为研发热门之一。本书从聊天机器人所涉及的多个方面出发,先理论后实践,让读者不仅能了解其中的原理,还能自己动手编程
本书是鲲鹏架构的入门书籍,也是实际应用的实战书籍,逐步讲解从简单的鲲鹏环境搭建到软件产品的鲲鹏兼容性认证。对高校相关专业学生、从事鲲鹏及相关生态开发的研究人员和工程技术人员有重要的参考价值
人工智能无疑是近年来的新宠,屡屡登上新闻头条:从先后击败人类围棋冠军李世石和柯洁的AlphaGo,到魔幻般的DeepFakes换脸。但对于不精通深奥技术的商业人士而言,人工智能究竞能做什么?如果你想在投入时间和金钱之前了解人工智能将如何影响自己的业务,那么本书是为你量身定做的
深度学习已经进入我们的生活,云计算和大数据为深度学习提供了便利。本书理论和实践相结合,理论讲解细致直观,通过实例进行演示,可以使读者快速掌握本书内容
当下,区块链已经是国家新基建中非常重要的一环,央行数字人民币呼之欲出,而区块链是数字货币发行的底层技术。本书深入浅出、系统性地解读了区块链技术的相关知识点,读者可以从中学习到区块链的本质和价值
本书以机器学习算法为主题,详细介绍算法的理论细节与应用方法。适合机器学习初学者、相关行业从业人员以及高等院校计算机科学、软件工程等相关专业的师生阅读

#留言有礼# 以上书单喜欢吗?分享一下你想要这本书的理由!或者你对本文的见解,活动截止时小编选出6幸运小锦鲤,送以上书籍任意一本,包邮到家~

点击下方公众号

回复关键字【电子书】领取资料

1、Intellij IDEA这样 配置注释模板,让你瞬间高出一个逼格!

2、Spring+SpringMVC+Mybatis实现校园二手交易平台【实战项目】

3、基于SpringBoot的迷你商城系统,附源码!

4、把Redis当作队列来用,真的合适吗?

5、惊呆了,Spring Boot居然这么耗内存!你知道吗?

6、全网最全 Java 日志框架适配方案!还有谁不会?

7、Spring中毒太深,离开Spring我居然连最基本的接口都不会写了

点分享

点收藏

点点赞

点在看

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter