微服务---Spring Cloud Alibaba 01

Spring Cloud Alibaba入门教程合集-01【微服务和Spring Cloud Alibaba介绍】 随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。从互联网早起到现在,系统架构大体经历了下面几个过程: 单体应用架构—>垂直应用架构—>分布式架构—>SOA架构—>微服务架构,当然还有悄然兴起的Service Mesh(服务网格化)。接下来我们就来了解一下每种系统架构是什么样子的, 以及各有什么优缺点。1.1.1 单体应用架构互联网早期,一般的网站应用流量较小,只需一个应用,将所有功能代码都部署在一起就可以,这样可以减少开发、部署和维护的成本。比如说一个电商系统,里面会包含 阅读详情

        这两天学习的SpringCloud Alibaba,什么SpringCloud Alibaba呢?我们就需要了解什么是SpringCloud,那什么又是SpringCloud呢?我们就需要了解什么是微服务,那什么又是微服务呢?我们就需要了解什么SAO-------------啊啊啊啊啊啊啊啊啊,这难道就是俄罗斯套娃吗。不,这是一个知识体系,下面我就来简单的介绍一下!

一、简介

1.SOA

百度百科:

是不是晦涩难懂呢?,嗯我也是这样认为的。

通俗易懂解释 :

        SOA不是具体的什么技术,而是一种开发项目的思想(架构设计模式),更符合现在的互联网系统快速发展的时代。下面举个栗子

        场景:现在我有一个数据库,一个JavaWeb的网站客户端,一个安卓app客户端,一个IOS客户端。现在我要给用户提供一个注册账号的功能。

        不用SOA的设计思想的实现:JavaWeb里面写一个注册账号的功能,安卓app里面写一个注册账号的功能,IOS同样如此。那么这样的实现有没有什么问题呢?比如有一天,我的注册方法需要改动,那是不是三个地方都要改,而且要改的一模一样。当然问题不止这一个。

        SOA的设计思想实现:用Java单独创建一个工程部署在一台服务器上,并且写一个方法执行上述注册操作,然后提供一个接口,其他人可以通过某种途径(广义的API)访问这个方法来注册。就是说把这个操作封装到一个工程中去,然后暴露访问的方式,形成“服务”。要修改关于注册用户的业务方法只要改这个服务就好了,很好的解耦。这样有什么好处呢?

优点:

  1. 扩展方便:一旦哪天突然有一堆人要注册,假设这堆人仅仅只是注册而不做其他事情,注册这个功能压力很大,而原有的一台部署了注册服务的服务器已经承受不了这么高的并发,这时候就可以单独集群部署这个注册服务,提供多几台服务器提供注册服务。
  2. 语言通用:实现这个服务的可以试任何语言,只要提供的接口通用就可以了,比如PHP擅长处理逻辑、Ruby语言擅长高并发、java擅长大数据等那我可以再比如某些业务逻辑很复杂的服务中使用PHP,在某些并发很高的服务中使用Ruby。
  3. 新人友好:新人进公司的时候他无需了解整个项目的架构是怎样的,比如你进阿里了,你想要熟练整个淘宝的架构你会累死,而这种SOA思想开发的项目由于是服务形式的,比方把你分到购物车组,那你只需要了解购物车的功能就好了。
  4. 发版方便:比方说你是淘宝购物车项目组的,你的项目改了一些东西要发版(发布生产),如果你是传统项目测试可能怕你改动到了其他的东西影响到了其他的功能(虽然你很确信没改动到,但万一呢?)不得不对淘宝整体的功能都做一遍测试,累死人,而这种形式的测试只需要测试你的购物车的功能,so easy。退一步说,万一你改的代码有问题测试没测出来,那也是影响购物车的功能,用户下单支付不影响。

缺点:

  1. 沟通不便:如果你们在大公司待过的话就会明白,用户组,订单组,购物车组,支付组等等是分别属于不同的领导管理,出了问题沟通起来很麻烦,甚至你都不知道找谁沟通,也能以前跟你沟通的人后来离职了等等的问题。
  2. 性能问题:相对于传统项目的直觉调用,SOA中不管你是使用RPC还是什么HTTP等技术调用,肯定会有性能的损耗,因为网络通信是需要时间的。
  3. 关系混乱:当服务越来越多,调用方也越来越多的时候,它们之间的关系就变得非常混乱。
  4. 运维难度:随着服务的增多,系统架构会越发复杂,这就给运维层面带来了挑战。
  5. 数据一致性问题:单体项目因为数据都在同一个数据库里面,不需要过多的关注分布式事务等问题,SOA就需要关心了。

        整体而言SOA肯定是利大于弊的,虽然缺点很明显,但是基本都是可以克服的,沟通不便就找上级领导多沟通呗,性能问题用内网什么的也能降低到很少,关系乱就可以用服务治理。相对而言好处部分基本上是不可能克服的,比如非SOA项目扩展基本很难,全部的代码丢到一个项目里面类似淘宝这种新人可能看三年五年也看不懂。

服务治理:上面我们提到了一个概念,什么是服务治理呢?

        就是当服务越来越多,调用方也越来越多的时候,它们之间的关系就变得非常混乱,需要对这些关系进行管理。举例,还是上面的例子,假如我有一个用户服务,一开始有调用方1和调用方2来使用这个服务,后来越来越多,将近上百个调用方,这个时候作为服务方,它只知道提供服务,却不知道具体为谁提供了服务。而对于开发者来说,知道这=N多调用方和N多服务方之间的关系是非常重要的。所以这个时候就需要能进行服务治理的框架,比如dubbo+zookeeper,比如SpringCloud,有了服务治理功能,我们就能清晰地看到服务被谁谁谁调用,谁谁谁调用了哪些服务,哪些服务是热点服务需要配置服务器集群,而对这个服务集群的负载均衡也是服务治理可以完成的重要功能之一。

2.微服务

百度百科:

 通俗易懂解释:

        微服务是一种架构模式(MSA),叫微服务架构更合理,就是把一个系统中的各个功能点都拆开为一个个的小应用然后单独部署,微服务架构的基础是将单个应用程序开发为一组小型独立服务,这些独立服务在自己的进程中运行,独立开发和部署。这些服务使用轻量级 API 通过明确定义的接口进行通信。这些服务是围绕业务功能构建的,每项服务执行一项功能。由于它们是独立运行的,因此可以针对各项服务进行更新、部署和扩展,以满足对应用程序特定功能的需求。

程序中的微服务,就是将各个业务系统的共性再进行抽取,做成独立的服务,如图所示:

        总之,微服务是分布式系统中的一种流行的架构模型。微服务架构主要解决的是如何快速地开发和部署我们的服务,这对于一个能够适应快速开发和成长的公司是非常必要的。同时,微服务设计中有很多很不错的想法和理念。

3.Spring Cloud

百度百科:

  通俗易懂解释:

        Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。简单来说,Spring Cloud是一个微服务框架的规范,注意,只是规范,他不是任何具体的框架。我们知道java大佬最喜欢的做法就是自己制定规范,然后别人基于我这个规范来做实现。

规范功能:

  1. 服务的注册与发现
  2. 负载均衡
  3. 服务熔断和限流
  4. 智能路由
  5. 控制总线
  6. 链路监控

Spring Cloud与Spring Boot的关系:

        与其说他们有什么关系,不如说他们就没有什么关系。只是现在微服务当道,而实现一个服务最快的办法就是用spring boot。不然你还要自己搭项目自己找jar包自己搞配置,还有兼容性等情况。那你的服务化进程注定是缓慢的。所以他们之间是没有关系的,只是因为微服务所需要的小应用很多,而spring boot恰恰又是实现小应用最快的方式。

4.Spring Cloud Alibaba

概述:

        Spring Cloud Alibaba 是Spring Cloud的一个子项目,致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。
核心组件:

        服务限流降级:
        默认支持 WebServlet、OpenFeign、RestTemplate、Spring Cloud Gateway, RocketMQ 限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。
        服务注册与发现:
        基于Spring Cloud 服务注册与发现标准,借助Nacos进行实现,默认还集成了 Ribbon 的支持。
        分布式配置管理:
        基于Nacos支持分布式系统中的外部化配置,配置更改时自动刷新。
        消息驱动能力:
        基于Spring Cloud Stream 为微服务应用构建消息驱动能力。
        分布式事务:
        使用 @GlobalTransactional 注解, 高效并且对业务零侵入地解决分布式事务问题。
        分布式任务调度:
        提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。同时提供分布式的任务执行模型,如网格任务。网格任务支持海量子任务均匀分配到所有 Worker上执行。

架构设计图:

01介绍到这里结束,搞清楚了它们的概念和它们之间的关系,接下来我们来具体学习实践操作!

Spring Cloud Alibaba微服务架构实战教程—01实战系列教程开篇 SpringCloud-Alibaba微服务架构实战教程—01开篇SpringCloud-Alibaba微服务架构实战教程—01开篇前言技术栈 SpringCloud-Alibaba微服务架构实战教程—01开篇 此项目源自智慧城市方案中的部分需求,是一个结合SpringCloud,SpringCloudAlibaba、Dubbo等技术栈,进行的微服务实战开发案例,长达3万多字的手把手教程,图文并茂,细节到极点,基本囊括了微服务架构中常用技能点,全面覆盖微服务中各种问题的解决方案,是新手入门、初中级开发提升 阅读详情

相关推荐

01_微服务划分与团队人数之Spring Cloud Alibaba架构全景

文章摘要 微服务架构成功的关键在于服务划分与团队规模的匹配。本文基于Spring Cloud Alibaba生态,提出微服务设计应遵循康威定律,强调团队自治与服务边界的一致性。核心观点包括: 团队规模决定服务粒度,5-9人团队适合维护1-3个强相关服务 Spring Cloud Alibaba组件(Nacos/Sentinel/Seata等)需与业务域、治理需求协同设计 服务拆分应按业务能力而非技术层级,优先拆解高价值核心域 组织设计应先于技术拆分,建立服务owner制度和平台治理团队 落地路径应从边界识别

模界 | AI工程化实践者 153

Spring Cloud Alibaba 新一代微服务解决方案

1、Spring Cloud Alibaba 是什么 Spring Cloud Alibaba 是阿里巴巴提供的微服务开发一站式解决方案,是阿里巴巴开源中间件与 Spring Cloud 体系的融合。 马老师左手双十一,右手阿里开源组件,不仅占据了程序员的购物车,还要攻占大家的开发工具。 先说说 Spring Cloud 提起微服务,不得不提 Spring Cloud 全家桶系列...

liuyaokai1990的博客 361

自定义LayoutManager实现android-pile-layout滑动卡片堆叠效果

这是我的第一篇博客,总算有个契机开始写博客了,就从自定义LayoutManager开始吧。 前段时间看到一个项目(android-pile-layout),效果特别不错,这是效果图: 效果确实不错,我看了下实现,是用的自定义的ViewGroup实现的,计算什么还搞的挺复杂的,具体的没细看。作者说也尝试过用LayoutManager实现,但是没找到合适的数学模型,好吧,看到数学模型我

u014296305的博客 1万+

java中的几种对象(PO,VO,DAO,BO,POJO)

一、PO :(persistant object ),持久对象 可以看成是与数据库中的表相映射的java对象。使用Hibernate来生成PO是不错的选择。二、VO :(value object) ,值对象 通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要. PO只能用在数据层,VO用在商业逻辑层和表示层。各层操作...

weixin_33774615的博客 338

当Kmer遇到多倍体:复杂基因组Survey分析中的避坑指南

本文针对小麦、棉花等多倍体及高杂合复杂基因组的Survey分析,深入解析了Kmer分布图解读中的常见陷阱。文章重点探讨了如何超越理想二倍体模型,利用Smudgeplot等工具准确判断基因组倍性,并提供了从参数优化、污染判断到结果验证的全流程实战指南,帮助研究者规避错误,获得更准确的基因组大小、杂合度等关键信息。

yhn45678901的博客 1010

RK3588+TRL8367s四网口千兆交换机硬件调试与DTS配置实战

本文详细介绍了基于RK3588处理器与RTL8367S交换机芯片构建四网口千兆交换设备的硬件调试与DTS配置实战。文章深入对比了MDIO与SMI两种通讯方式的配置差异,提供了详尽的设备树代码示例,并总结了常见问题的排查思路,旨在帮助开发者高效完成嵌入式网络设备的软硬件集成与调试工作。

weixin_28308325的博客 470

Spring Cloud Alibaba- 主要功能简介与主要组件

Spring Cloud Alibaba 微服务简介 架构的演变 随着互联网的发展,网站应用的规模也不断的扩大,进而导致系统架构也在不断的进行变化,从互联网早起到现在,系统架构大体经历了下面几个过程: 单体应用架构: 把所有功能都集中在一个应用中,统一部署,开发成本、部署成本和维护成本低 优点:项目架构简单,适合用户量少的项目,开发成本低,项目部署在一个节点上,维护方便。 缺点:功能集中在一个工程中,对于大型项目比一开发和维护,项目模块紧耦合,单点容错率低,无法对不同的模块功能进行针对性的优化和水平拓展

飘然渡沧海的博客 2万+

bert-ini:一种基于bert的实体对齐交互模型

本次分享一项来自IJCAI-20的实体对齐工作,该工作提出了一种不同于以往的采用图结构信息进行实体对齐的技术方案,该方案取得了当时的最好效果;不仅如此,模型本身的对齐效率在该项工作中也被考虑,实际工作中非常具备借鉴意义。

qq_33331424的博客 3154

SpringCloud Alibaba 简介

介绍SpringCloud ALibaba的由来,组件,架构模式以及SpringCloudalibaba,SpringCloud,springboot的版本依赖

I_am_fine_的博客 2130

基于LightGBM和多模型融合的量化交易研究:沪深300为例【附代码】

📊 数据科学与大数据专业 | 数据分析与模型构建 | 数据驱动决策✨ 专业领域:数据挖掘与清洗大数据处理与存储技术机器学习与深度学习模型数据可视化与报告生成分布式计算与云计算数据安全与隐私保护💡 擅长工具:Python/R/Matlab 数据分析与建模Hadoop/Spark 大数据处理平台SQL数据库管理与优化Tableau/Power BI 数据可视化工具TensorFlow/PyTorch 深度学习框架✅数据科学与大数据技术毕业论文【数据】

lagougongzuoshi的博客 1670

HighTec安装使用

HighTec安装使用

qq_43552564的博客 3836

SpringCloud Alibaba简介

SpringCloud Alibaba简介 springcloud netflix进入了维护模式,Alibaba后来居上。取而代之。。 Spring Cloud Alibaba 是阿里巴巴提供的微服务开发一站式解决方案,是阿里巴巴开源中间件与 Spring Cloud 体系的融合。 官网: https://spring.io/projects/spring-cloud-alibaba 中文文档 https://github.com/alibaba/spring-cloud-alibaba/blob/mast

cmx1060220219的博客 4460

国家基本比例尺分幅土地利用现状图制作

本次主要解决的问题是如何构建脚本快速生成所涉及区域标准国家基本比例尺分幅,然后制作土地利用现状图模板,套用模板生成标准分幅土地利用现状图。

xyt1172228177的博客 2459

微服务01 - Spring Cloud 与 Spring Cloud Alibaba

架构演进单体架构:一个项目完成所有功能,适合小型项目。优点:部署简单。缺点:耦合度高,性能较差。垂直架构:将单体架构拆分为多个独立项目,各个项目功能完整互不干扰,本质还是单体架构。缺点:重复功能较多。分布式架构:根据业务功能拆分一个大型项目,每个模块独立开发,称为一个微服务。优点:耦合度低,利于扩展。缺点:部署运维复杂。集群与分布式的区别集群:多个相同功能的模块,部署在不同的机器上。分布式:多个不同功能的模块,组成一个完整项目。微服务技术分类功能Dubbo(阿里)

m0_65735686的博客 1039

RK3588上使用PCIE接口的国产千兆网卡YT6801

YT6801是裕太微电子开发的一款国产千兆PCIE以太网控制器芯片,可作为RK3588的PCIE外扩网口使用。

荻夜的博客 8222

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Spring Cloud Alibaba-01-微服务介绍

Spring Cloud Alibaba-01-微服务介绍微服务简介**架构的演变**微服务架构与SOA架构的不同微服务架构的常见问题微服务架构的常见概念服务治理服务调用服务网关服务容错链路追踪微服务架构的常见解决方案Spring Cloud Alibaba 主要功能与组件**主要功能**组件架构的演变把所有功能都集中在一个应用中,统一部署,开发成本、部署成本和维护成本低,我们会把它们做成一个web项目,然后部署到一台tomcat服务器上。

苍云烟 1348

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

spring-cloud-alibaba微服务搭建过程记录--01

微服务搭建过程 记录自己微服务搭建学习过程,真的是一步一个坑。 1. 前期准备 1.1 锁版本 主要锁的就是Spring boot 、Spring cloud 、Spring cloud alibaba的版本,而且这几个对应的版本要匹配,不然会出现错误 <!--属性配置--> <properties> <java.version>1.8</java.version> <spring-boot.version>

路漫漫兮 610

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

01 微服务和Spring Cloud Alibaba介绍

01 微服务和Spring Cloud Alibaba介绍

xuejun_1996的博客 134

01-Spring Cloud Alibaba 微服务架构总览与核心组件详解

本文从整体上介绍了 Spring Cloud Alibaba 微服务架构的核心理念与组件构成。作为起点,帮助大家在全局视角理解微服务技术栈。下一篇将深入分析 Nacos 在服务注册、健康检查、配置中心方面的源码与实战用法。

無言的博客 1071

Spring Cloud Alibaba - 01漫谈传统架构和微服务架构

文章目录单体架构 VS 微服务架构单体架构微服务架构单机架构扩展与微服务扩展 单体架构 VS 微服务架构 单体架构 简而言之 : war包打天下 。 我们来分析一下优缺点: 优点: 架构简单 开发测试部署简单 缺点: 随着业务扩展,代码越来越复杂,代码质量参差不齐,开发人员的水平不一,修改每一个小bug都是心惊胆战的 由于单体架构,功能复杂,部署慢 扩展成本高,根据单体架构图 假设模块A是一个CPU密集型的模块 ,而模块B是一个IO密集模块。单体架构上,无法针对单个功能模块进

小工匠 3万+

【手把手教你搭建SpringCloud 01】2025年微服务技术选型:为什么选择Spring Cloud Alibaba?

2025年微服务技术选型:Spring Cloud Alibaba已成主流 随着Netflix组件逐步停更(2023年官方停止维护),Spring Cloud Alibaba凭借其完整生态和持续更新能力,成为企业微服务架构的首选。关键优势: 组件对比:Nacos(服务发现)、Sentinel(熔断)等核心组件全面优于Netflix方案 性能表现:吞吐量提升40%,响应时间降低30% 生产就绪:70%企业已完成迁移,提供金融级高可用保障 未来演进:2025路线图包含AI集成、边缘计算等前沿特性 行动建议: 新

专注后端技术架构,AI技术分享 1316

spring cloud alibaba微服务原理与实战_《SpringCloud H版+SpringCloud alibaba》01.微服务架构编码构建...

教学视频传送:https://www.bilibili.com/video/BV19T4y1g7uespringBoot和springCloud的版本选型https://start.spring.io/actuator/info查看json串返回结果 这就是我们的选型依据本次开发选用版本如下:cloud : Hoxton.SR1boot : 2.2.2.RELEA...

weixin_39732491的博客 410

01 | 顶层设计:微服务生态与 Spring Cloud Alibaba

通用的微服务架构应包含哪些组件 相对于单体式架构的简单粗暴,微服务架构将应用打散,形成多个微服务进行独立开发、测试、部署与运维。虽然从管理与逻辑上更符合业务需要,但微服务架构也带来了诸多急需解决的核心问题: 如何发现新服务节点以及检查服务节点的状态? 如何发现服务及负载均衡如何实现? 服务间如何进行消息通信? 如何对使用者暴露服务 API? 如何集中管理众多服务节点的配置文件? 如何收集服务节点的日志并统一管理? 如何实现服务间调用链路追踪? 如何对系统进行链路保护,避免微服务雪崩? 可以发现,上述这些

SuperstarSteven的博客 329

手把手从零搭建微服务项目Spring Cloud Alibaba--01、创建版本管理父工程

手把手搭建Spring Cloud Alibaba--01、创建版本管理父工程。 pom文件标签解释,spring cloud版本对应关系

aquriushu的博客 905

基于微服务构建闪聚支付项目---day01 项目介绍 Nacos Spring Cloud Alibaba

闪聚支付 第1章 讲义-项目介绍与环境搭建 1 项目介绍 1.1 项目背景 随着移动支付的盛行,商业银行、第三方支付公司、其它清算机构、消费金融公司等众多类型的机构,都在为商户 提供网络(移动)支付解决方案。另一方面,用户的支付需求繁多,支付渠道已呈“碎片化”状态,并且“碎片化”程 度将逐渐加深。聚合支付顾名思义就是将目前主流的支付进行整合,形成第三方支付的聚合通道,也被称为“第四 方支付”。 下图是聚合支付的产业结构: ...

zgz102928的博客 1037

SpringCloud——创建 SpringCloud项目

目录: 1. 创建 project 工作空间 1.1 微服务 cloud 聚合父工程 project 2. 父工程 pom 2. 微服务工程构建 1. 建 moudle 2. 改 pom 1. 创建 project 工作空间 1.1 微服务 cloud 聚合父工程 project a. 创建 maven 工程 b. 设置编码 c. 注解生效激活 d. java 编译版本 2. 父工程 pom <?xml version="1.0" encoding="UTF-8"?> <proj

m0_67391907的博客 395
上一篇: Linux的常用命令及项目的发布
下一篇: 微服务---Spring Cloud Alibaba 02(Nacos)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值