点击上方蓝色“方志朋”,选择“设为星标”回复“666”获取独家整理的学习资料!来源:https://cnblogs.com/three-fighter/p/13485459.html

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、微服务解决方案

目前最流行的两种微服务解决方案是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。

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 个组件,它的主要功能是在分布式系统中提供服务链路追踪的解决方案。

3、总结

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


博主水平有限,如有错漏,欢迎指出!

参考:

【1】:朱荣鑫、张天、黄迪璇编著《Spring Cloud微服务架构进阶》

【2】:翟永超著 《Spring Cloud 微服务实战》

【3】:许进等著《重新定义SpringCloud实战》

【4】: 方志朋著 《深入理解SpringCloud微服务构建》

【5】:SOA架构设计分析

【6】:【12张手绘图】我搞懂了微服务架构!

【7】:微服务架构深度解析与最佳实践

在这里,我为大家准备了一份2021年最新最全的《史上最简单的java面试题》,这套电子书涵盖了诸多java技术栈的面试知识题,是作者面试BAT大厂的前的总结,作者顺利拿下AT的offer,相信可以帮助大家在最短的时间内复习Java后端的大多数面试题,从而拿到自己心仪的offer。

截了张图,大家可以仔细查看左边的菜单栏,覆盖的知识面真的很广,而且质量都很不错。

资料获取方法扫描下方二维码
后台回复关键词:BAT
明天见(。・ω・。)

19张图带你梳理SpringCloud体系中的重要技术点!相关推荐

  1. 19张图带你梳理SpringCloud体系中的重要知识点!

    作者: 三分恶 cnblogs.com/three-fighter/p/13485459.html 1.什么是微服务 1.1.架构演进 架构的发展历程是从单体式架构,到分布式架构,到SOA架构,再到微 ...

  2. 互联网反欺诈体系中的常用技术和数据类型

    互联网反欺诈常用的技术主要包括数据采集.特征工程.决策引擎.数据分析等几个类别: 数据采集: 主要应用于从客户端或网络获取客户相关数据的技术方法.值得强调的是,数据采集技术的使用,应当严格遵循法律法规 ...

  3. 复旦大学邱锡鹏教授:一张图带你梳理深度学习知识脉络

    Datawhale 作者:邱锡鹏,复旦大学教授 寄语:本文梳理了深度学习知识体系,分为机器学习.神经网络和概率图模型,同时对机器学习算法类型.深度学习原理框架等进行了梳理,帮助大家更好地学习和入手深度 ...

  4. 24张图带你彻底理解Java中的21种锁

    本篇主要内容如下: 本篇主要内容 本篇文章已收纳到我的Java在线文档. Github 我的SpringCloud实战项目持续更新中 帮你总结好的锁: 序号 锁名称 应用 1 乐观锁 CAS 2 悲观 ...

  5. 复旦邱锡鹏超全NLP预训练模型综述论文:两张图带你梳理完整脉络

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 超全预训练语言模型概览,入门学习.搭建知识体系.找文献资料.找资源代码,这里有 N ...

  6. java中怎么判断一段代码时线程安全还是非线程安全_24张图带你彻底理解Java中的21种锁...

    (给ImportNew加星标,提高Java技能) 转自:悟空聊架 本篇主要内容如下: 本篇文章已收纳到我的 Java 在线文档. Github.我的 SpringCloud 实战项目持续更新中. 帮你 ...

  7. 一张图带你了解Android5.0中的colorPrimary、colorPrimaryDark、colorAccent

    2019独角兽企业重金招聘Python工程师标准>>> 转载于:https://my.oschina.net/u/735973/blog/1591360

  8. 一张图带你了解 Insider Dev Tour 2019中国技术大会

    点击阅读原文,前往微软Insider Dev Tour 全球官网

  9. 什么是华为认证?一张图带你了解华为认证体系!

    华为创立于1987年,是全球领先的ICT基础设施和智能终端提供商,目前华为有18.8万员工,业务遍及170多个国家和地区,服务30多亿 人口.华为认证体系是华为公司凭借多年数字化人才培养经验及对ICT ...

最新文章

  1. 为所欲为——教你什么才是真正的任意分频
  2. UOJ#460. 新年的拯救计划 构造
  3. Oracle中快速查找锁与锁等待
  4. 【01】网页中清除历史浏览记录能不能彻底删除浏览记录?
  5. 剑指offer:约瑟夫环的问题
  6. 上海启动5G试用!104页PPT,为你深度解析5G终端的创新和机遇
  7. 下面关于html的描述正确的一项是,1 x 证书 Web 前端开发初级理论考试试卷五(2)...
  8. 如何读取指针指向的地址空间呢?
  9. Linux 启/关 自启动服务
  10. node-webkit学习(1)hello world
  11. 高性能异步批量ping的golang实现
  12. LeetCode 题解之Find Peak Element
  13. 向量的大小和方向,零向量的方向_3
  14. 【超参数寻优】粒子群算法(PSO) 超参数寻优的python实现
  15. ABAQUS2017安装问题:以下应用程序正在锁定 VC11 dll :C:\WINDOWS\system32\msvcr110.dll 继续前先终止这些应用程序。
  16. Svn分支管理的使用(三)
  17. XPS Silverlight Reader
  18. LOTO示波器---1G采样率的USB示波器OSCH02的优势
  19. swf播放器air android 版,网极SWF播放器(com.webgenie.swf.play) - 1.6.3 - 应用 - 酷安
  20. 蓝桥杯,基础练习 Fibonacci数列(斐波那契数列) C++

热门文章

  1. GitLab 配置邮箱
  2. leetcode 203 Remove Linked List Elements
  3. Android UI体验之全屏沉浸式透明状态栏效果
  4. Autocomplete 自动补全(Webform实战篇)
  5. 【组队学习】【33期】Scratch(一级)
  6. 【组队学习】曹志宾:基于Python的会员数据化运营
  7. 【直播】王茂霖:二手车交易价格预测 Baseline 提高(河北高校数据挖掘邀请赛)
  8. 刻意练习:Python基础 -- Task08. 异常处理
  9. 什么是SESSION?(二)
  10. 低代码、RPA 和 AI,有什么区别