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系列教程 | 第十一篇:Spring Boot Spring Cloud Stream 和 Kafka案例教程-附件资源
Spring Cloud 2021作为微服务生态的重要组成部分,提供了服务发现、配置中心、负载均衡、熔断器、API网关等一系列微服务解决方案。例如,Eureka用于服务注册与发现,Zuul或Gateway作为API网关处理请求路由,Hystrix...
这个“SpringCloud入门教程系列源码.rar”压缩包显然包含了用于学习 SpringCloud 的一系列示例源代码,旨在帮助初学者理解并掌握如何在实际项目中应用这些核心组件。 1. **Ribbon**: Ribbon 是 Netflix 提供的一个...
集成Spring Cloud和Flowable的第一步是引入相关依赖。在`pom.xml`文件中,我们需要添加Spring Cloud和Flowable的Maven依赖。确保选用的版本与Spring Cloud 2.0兼容,因为不同版本间可能存在API差异。 ```xml ...
《SpringCloud视频教程附带PDF》是一套全面且深入的学习资源,旨在帮助初学者和有经验的开发者掌握SpringCloud框架的使用,同时结合了SpringBoot和Eureka等关键组件,以构建高效、可扩展的微服务架构。在这个教程中...
在2020年的第二个季度,SpringCloud 发布了新的版本,引入了一系列更新和优化,以提升性能和开发者体验。本资料包包含了该版本的源代码和对应的思维导图笔记,对于深入理解和应用 SpringCloud 2020 第二季有着重要的...
根据提供的文件信息,本篇文章将围绕“spring-cloud分布式实战视频教程”这一主题展开,深入解析Spring Cloud在分布式系统中的应用及其实战技巧。 ### Spring Cloud简介 Spring Cloud是一系列框架的有序集合,它...
根据提供的文件信息,我们可以推断出这是一份关于Spring Cloud的学习资源链接,主要形式为视频教程。接下来,我们将从Spring Cloud的基本概念、核心组件、实际应用场景以及如何利用这些视频资源进行高效学习等方面来...
Spring Cloud Sleuth 是一个用于分布式系统跟踪的工具,它是基于 Zipkin 的,可以方便地集成到基于 Spring Boot 和 Spring Cloud 的微服务架构中。通过 Sleuth,我们可以轻松地收集和分析服务间的调用链路数据,从而...
Spring Cloud 是一个基于Java的微服务开发框架,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)操作的一系列...
【描述】中没有提供具体的信息,但我们可以推测这可能是某个系列教程的第八部分,可能涉及了Spring Cloud Alibaba框架的深入应用或新特性。 【标签】"es" 提示我们这个项目可能使用了Elasticsearch,一个流行的开源...
Spring Cloud是一个基于Spring Boot的框架集合,它为开发人员提供了一系列工具和服务来构建微服务架构。其中包括服务发现、配置管理、断路器、智能路由、微代理、事件总线等功能。Spring Cloud的强大之处在于它能够...
### SpringCloud与Kafka消息中间件集成教程 #### 一、SpringCloud概述 Spring Cloud 是一个基于Spring Boot的框架,旨在提供一系列开箱即用的工具和服务,帮助开发者轻松构建和部署微服务架构的应用程序。它集合了...
本实战教程将详细介绍如何利用这些技术打造一个模拟商城,包括完整的购物流程和后端运营平台,同时支持微信等第三方登录。 首先,Spring Cloud作为核心的后端框架,提供了服务发现、负载均衡、熔断、限流等一系列...
2. Spring Cloud:Spring Cloud 是一系列框架的集合,使用Spring Boot的开发便利性简化了分布式系统(如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式会话和集群...
这些教程可能涵盖了Spring Boot的基础入门,如如何创建第一个Spring Boot项目、理解自动配置、使用starter库、内嵌式服务器的使用,以及Spring Cloud的关键组件,如Eureka(服务发现)、Zuul(API网关)、Hystrix...
在本压缩包“springcloud第四章结束.zip”中,我们可以推断这包含了Spring Cloud相关的一系列代码示例或项目,这是关于微服务架构的一个热门框架。Spring Cloud是基于Spring Boot进行分布式系统开发的一系列工具集合...
SpringCloud是Java领域中广泛使用的微服务框架,它提供了一系列工具和组件,帮助开发者构建、配置和管理微服务架构。本教程将通过五个部分,详细讲解SpringCloud中的关键技术和实践应用,包括Eureka、Feign、Ribbon...
5. **《Spring in Action》**: 这本书是Spring框架的经典教程,第四版详细介绍了Spring的各个方面,包括依赖注入、AOP、数据访问、Web开发以及Spring Boot和Spring Cloud等内容。通过阅读,开发者可以深入理解Spring...