|多图详解:12张图秒懂Spring Cloud整体构架
1、什么是微服务
1.1、架构演进
架构的发展历程是从单体式架构 , 到分布式架构 , 到SOA架构 , 再到微服务架构 。
图1:架构演进
本文插图
- 单体架构:未做任何拆分的Java Web程序
本文插图
- 分布式架构:按照业务垂直划分 , 每个业务都是单体架构 , 通过API互相调用 。
本文插图
- SOA架构:SOA是一种面向服务的架构 。 其应用程序的不同组件通过网络上的通信协议向其它组件提供服务或消费服务 , 所以也是分布式架构的一种 。
本文插图
1.2、微服务架构
微服务架构在某种程度上是SOA架构的进一步的发展 。
微服务目前并没有比较官方的定义 。 微服务 Microservices 之父 , 马丁.福勒 , 对微服务大概的概述如下:
就目前而言 , 对于微服务业界并没有一个统一的、标准的定义(While there is no precise definition of this architectural style )。 但通常在其而言 , 微服务架构是一种架构模式或者说是一种架构风格 , 它提倡将单一应用程序划分成一组小的服务 , 每个服务运行独立的自己的进程中 , 服务之间互相协调、互相配合 , 为用户提供最终价值 。 服务之间采用轻量级的通信机制互相沟通(通常是基于 HTTP 的 RESTful API )。 每个服务都围绕着具体业务进行构建 , 并且能够被独立地部署到生产环境、类生产环境等 。 另外 , 应尽量避免统一的、集中式的服务管理机制 , 对具体的一个服务而言 , 应根据业务上下文 , 选择合适的语言、工具对其进行构建 , 可以有一个非常轻量级的集中式管理来协调这些服务 。 可以使用不同的语言来编写服务 , 也可以使用不同的数据存储 。
图5:微服务定义思维导图
本文插图
图6:微服务架构示意图
本文插图
1.3、微服务解决方案
目前最流行的两种微服务解决方案是SpringCloud和Dubbo 。
2、SpringCloud概览
2.1、什么是SpringCloud
Spring Cloud 作为 Java 言的微服务框架 , 它依赖于 Spring Boot, 有快速开发、持续交付和容易部署等特点 。Spring Cloud 的组件非常多 , 涉及微服务的方方面面 , 井在开源社区 Spring、Netflix Pivotal 两大公司的推动下越来越完善 。
SpringCloud是一系列组件的有机集合 。
图7:SpringCloud技术体系
本文插图
图8:SpringCloud技术体系思维导图
本文插图
2.1、SpringCloud主要组件
2.1.1、Eureka
Netflix Eureka 是由 Netflix 开源的一款基于 REST 的服务发现组件 , 包括 Eureka Server 及 Eureka Client 。
本文插图
推荐阅读
- |多图直击!“讲好中国故事”荣耀启动暨电商基地揭牌盛典
- 技术编程|Linux|命令格式详解及echo命令参数用法详解
- 行业互联网,英特尔|英特尔宋继强详解六大技术支柱:打造最具领导力产品的“根基”
- 行业互联网|英特尔宋继强详解六大技术支柱:打造最具领导力产品的“根基”
- 详解|Git实战004:branch分支操作详解
- 教育|字节跳动收购思维教育产品你拍一,详解头条系教育版图
- 蒹葭|详解WiFi6技术误区,入手WiFi6前必看
- |小米详解原生10bit屏幕的作用:使色彩之间过渡更顺滑
- 行业互联网|加密矿池市场四年内将实现惊人增长?OKEx Jay Hao 详解机枪池原理
- 和讯科技|小红书首次对外详解百亿流量扶持 扶持1000个直播带货创作者