深扒财经圈spring cloud系列教程第一篇-介绍


前言:
现在Java招聘中最常见的是会微服务开发 , 微服务已经在国内火了几年了 , 而且也成了趋势了 。 那么 , 微服务只是指spring boot吗?当然不是了 , 微服务需要治理 , 需要监控等等一系列的组件 。 这就诞生了spring cloud 。 从本篇开始 , 凯哥(凯哥Java:kaigejava)将和大家分享spring cloud系列教程 。 凯哥将和大家分享2020年之前的spring cloud热门技术 。 还要会和大家分享2020年比较火的spring cloude Alibaba相关的组件 。 好了 , 我们言归正传.
本文主要内容:1:微服务介绍;2:分布式体系常用的几个维度;3:spring cloud以及2020年开始升级的替代技术 。
本文是由凯哥(凯哥Java:kagejava)发布的《spring cloud系列教程》教程的第一篇:《spring cloud系列教程第一篇-介绍》 。
一:微服务介绍:
Martin Fowler在2014年3月份对微服务的定义:
深扒财经圈spring cloud系列教程第一篇-介绍
本文插图
翻译:
微服务架构是一种架构模式 , 它提倡将单一的应用程序划分成一组小的服务 , 服务之间相互协调、相互配合 , 为用户提供最终价值 。 每个服务运行在其独立的进程中 , 服务与服务之间采用轻量级的通信机制相互协作(通常是基于HTTP协议的restful API).每个服务都围绕着具体业务进行构建 , 并且能够被独立的部署在生产环境等 。 另外 , 应当尽量避免统一的 , 集中式的服务管理机制 , 对具体的一个服务而言 , 应根据业务上下文 , 选择合适的语言、工具对其进行构建 。
简单理解:生活中 , 我们都见过搭积木吧 。 一个完整的积木作品是由很多小的积木配合搭建起来的 。 我们可以把微服务也这么理解 。 一个复杂的需求 , 就相当于是积木最终作品样子 , 一个一个单一的应用程序(服务)可以理解为一块块的积木 。 它们之间通过通信机制进行协作 。 最终实现复杂的功能 。 这样是不是更好理解了 。
二:分布式体系常见的几个维度
分布式体系几个常用见的维度:一般在分布式体系中我们需要考虑的问题 , 既然是一个一个单一的服务 , 那么每个服务是不是需要有个统一的注册地方来让其他服务发现?多个服务之间调用怎么来调用?每个单一服务是否运行正常呢?怎么处理?服务的负载怎么处理?如果服务出现了问题怎么办?服务之间队列消息怎么处理?
如下图 , 是分布式体系需要几个维度及相应维度的处理技术:
深扒财经圈spring cloud系列教程第一篇-介绍
本文插图
从上图中 , 我们可以发现 , 当有了微服务后 , 需要从上面那么多角度来维护 , 如果一个维度使用一个 , 那么管理起来是不是很麻烦?现在我们知道 , 小米手机的生态系统和华为的生态系统做的很好 。 买了小米手机、小米电脑、小米家电等小米生态中的电子产品 , 只要一个账号登陆后 , 很好的兼容 。 那么微服务有没有类似这样的技术呢?答案是有的:还是spring官方提供的 , 那就是spring cloud技术 。 那么 , 接下来 , 我们来看看什么是spring cloud.
三:Spring cloud是什么?
Spring cloud是分布式微服务的一站式解决方案 , 是多种微服务架构落地技术的集合体 , 俗称:微服务全家桶 。
Spring cloud集合中优质技术:
深扒财经圈spring cloud系列教程第一篇-介绍
本文插图
这些优质的技术 , 用来解决上面提到的几个维度 。
目前通用的架构及技术:
深扒财经圈spring cloud系列教程第一篇-介绍
本文插图
分布式体系几个维度常用的几个技术: