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月份对微服务的定义:

翻译:

微服务架构是一种架构模式,它提倡将单一的应用程序划分成一组小的服务,服务之间相互协调、相互配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务之间采用轻量级的通信机制相互协作(通常是基于HTTP协议的restful API).每个服务都围绕着具体业务进行构建,并且能够被独立的部署在生产环境等。另外,应当尽量避免统一的,集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。

简单理解:生活中,我们都见过搭积木吧。一个完整的积木作品是由很多小的积木配合搭建起来的。我们可以把微服务也这么理解。一个复杂的需求,就相当于是积木最终作品样子,一个一个单一的应用程序(服务)可以理解为一块块的积木。它们之间通过通信机制进行协作。最终实现复杂的功能。这样是不是更好理解了。

二:分布式体系常见的几个维度

分布式体系几个常用见的维度:一般在分布式体系中我们需要考虑的问题,既然是一个一个单一的服务,那么每个服务是不是需要有个统一的注册地方来让其他服务发现?多个服务之间调用怎么来调用?每个单一服务是否运行正常呢?怎么处理?服务的负载怎么处理?如果服务出现了问题怎么办?服务之间队列消息怎么处理?

如下图,是分布式体系需要几个维度及相应维度的处理技术:

从上图中,我们可以发现,当有了微服务后,需要从上面那么多角度来维护,如果一个维度使用一个,那么管理起来是不是很麻烦?现在我们知道,小米手机的生态系统和华为的生态系统做的很好。买了小米手机、小米电脑、小米家电等小米生态中的电子产品,只要一个账号登陆后,很好的兼容。那么微服务有没有类似这样的技术呢?答案是有的:还是spring官方提供的,那就是spring cloud技术。那么,接下来,我们来看看什么是spring cloud.

三:Spring cloud是什么?

Spring cloud是分布式微服务的一站式解决方案,是多种微服务架构落地技术的集合体,俗称:微服务全家桶。

Spring cloud集合中优质技术:

这些优质的技术,用来解决上面提到的几个维度。

目前通用的架构及技术:

分布式体系几个维度常用的几个技术:

上图的不同维度解决方案都是在2020年以前的。但是,从2020年后,有了升级。我们浏览技术网站的时候,是不是会经常看到:spring cloud Alibaba这个东西?对,没错。这就是2020年之后的升级替代产品。我们来看看2020升级后的每个维度解决方案:

四:2020年升级之后各个维度使用技术:

从上图中,我们可以看出,有些技术在2020年之后会慢慢被替换掉。但是,具体你所在的或者是你即将去的公司会不会用最新的技术,这个还不好说的。所以,凯哥这个spring cloud系列教程即会讲解之前的技术也会讲解spring cloud Alibaba 这个最新的技术。欢迎大家和凯哥(凯哥Java:kaigejava)一起学习。

spring cloud系列教程第一篇-介绍的更多相关文章

  1. Spring Cloud系列教程第九篇-Eureka自我保护机制

    Spring Cloud系列教程第九篇-Eureka自我保护机制 本文主要内容: 1:自我保护介绍 2:导致原因分析 3:怎么禁止自我保护 本文是由凯哥(凯哥Java:kagejava)发布的< ...

  2. Spring cloud系列教程第二篇:支付项目父工程图文搭建

    Spring cloud系列教程第二篇:支付项目父工程图文搭建 在讲解spring cloud相关的技术的时候,咱们就模拟订单支付这个流程来讲讲 在这个支付模块微服务搭建过程中,上面的这些技术,都会融 ...

  3. Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇

    Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇 本文主要内容: 1:spring cloud整合Eureka总结 本文是由凯哥(凯哥Java:kagejava ...

  4. spring cloud系列教程第四篇-Eureka基础知识

    通过前三篇文章学习,我们搭建好了两个微服务工程.即:order80和payment8001这两个服务.有了这两个基础的框架之后,我们将要开始往里面添加东西了.还记得分布式架构的几个维度吗?我们要通过一 ...

  5. spring cloud系列教程第六篇-Eureka集群版

    spring cloud系列教程第六篇-Eureka集群版 本文主要内容: 本文来源:本文由凯哥Java(kaigejava)发布在博客园博客的.转载请注明 1:Eureka执行步骤理解 2:集群原理 ...

  6. spring cloud系列教程第八篇-修改服务名称及获取注册中心注册者的信息

    spring cloud系列教程第八篇-修改服务名称及获取注册中心注册者的信息 本文主要内容: 1:管理页面主机名及访问ip信息提示修改 2:获取当前注册中心的服务列表及每个服务对于的服务提供者列表 ...

  7. Spring Cloud系列(二) 介绍

    Spring Cloud系列(一) 介绍 Spring Cloud是基于Spring Boot实现的微服务架构开发工具.它为微服务架构中涉及的配置管理.服务治理.断路器.智能路由.微代理.控制总线.全 ...

  8. spring cloud 系列第1篇 —— eureka 服务的注册与发现 (F版本)

    源码仓库地址:https://github.com/heibaiying/spring-samples-for-all 一.eureka 简介 Spring Cloud Eureka使用Netflix ...

  9. spring cloud 系列第8篇 —— config+bus 分布式配置中心与配置热刷新 (F版本)

    源码Gitub地址:https://github.com/heibaiying/spring-samples-for-all 一.config 简介 spring cloud config 分为服务端 ...

随机推荐

  1. conda命令详解

    显示已有环境信息 conda info --envs 创建环境 conda create --name [环境名] python=[版本号] 删除环境 conda remove --name [环境名 ...

  2. Labview 机器视觉IMAQ GetFileInfo函数详解

    ------------恢复内容开始------------ IMAQ GetFileInfo作用是获取图片文件的信息,包括Calibration(校准).文件类型.水平垂直分辨率.文件数据类型.图像 ...

  3. vue项目中使用bpmn-节点篇

    前情提要 根据之前的操作,我们可以创建.导入.导出流程图,并对其进预览.通过此篇可以学到: 为节点添加点击.鼠标悬浮等事件 获取流程图内所有指定类型的节点 通过外部更新节点名字 获取节点实例的两种方法 ...

  4. 解析网站爬取腾讯vip视频

    今天用油猴脚本vip一件解析看神奇队长.想到了问题,这个页面应该是找到了视频的api的接口,通过接口调用获取到了视频的地址. 那自己找腾讯视频地址多费劲啊,现在越来越多的参数,眼花缭乱的. 那我就找到 ...

  5. 文字检测模型EAST应用详解 ckpt pb的tf加载,opencv加载

    参考链接:https://github.com/argman/EAST (项目来源) https://github.com/opencv/opencv/issues/12491  (遇到的问题)    ...

  6. redis: Hash集合类型(六)

    存值:hset myhash name applesnt 取值:hget myhash name 批量存值:hmset myhash name lisi address bj age 12 批量取值: ...

  7. 使用dynamic和MEF实现轻量级的AOP组件 (3)

    转摘 https://www.cnblogs.com/niceWk/archive/2010/07/22/1783068.html 水到渠成 在上一篇的<偷梁换柱>中,介绍了Weavabl ...

  8. 尝试用Vue.js开发网页小游戏的过程

    准备 首先去官方下载并安装VSCODE,下载地址 https://code.visualstudio.com/.安装后打开会发现是英文版的,需要去安装插件来汉化.具体是在扩展插件搜索chinese,选 ...

  9. 二、Go语言开发环境安装与编写第一个Hello World

    本系列文章均为学习过程中记录的笔记,欢迎和我一起来学习Go语言. 全文使用环境如下: Go语言版本:1.13 操作系统:deepin 使用工具:Goland开发工具 Go语言追溯历史 Go语言2009 ...

  10. node 搭载本地代理,处理web本地开发跨域问题

    var path = require('path') var httpProxy = require('http-proxy') var express = require('express') va ...