草庐IT

Spring Cloud Alibaba-全面详解(学习总结---从入门到深化)

童小纯 2023-07-01 原文

​​​​​​​ 

Spring Cloud Alibaba简介

 什么是Spring Cloud Alibaba

Spring Cloud Alibaba致力于提供微服务开发的一站式解决方案。 此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

 为什么要推出SpringCloud Alibaba呢?

 问题: 但近几年来呢,许多的微服务组件已经闭源或者已经停止维护了 。

SpringCloudAlibaba 微服务组件内容与功能对比

Spring Cloud Alibaba是阿里巴巴结合自身的微服务实践开源的微服务全家桶。

 SpringCloud 和 Spring Cloud Alibaba的功能对比

 更换组件后微服务架构图

 1.Spring Cloud Alibaba提供_____解决方案。微服务开发的一站式

 2. 为什么要推出SpringCloud Alibaba____。已经闭源或者已经停止维护

Spring Cloud Alibaba版本与兼容性 

 https://github.com/alibaba/spring-cloud-alibaba/wiki/ 版本说明

 Spring Cloud维护主线版本

 Spring Cloud Alibaba维护主线版本

 组件版本关系

下表为按时间顺序发布的 Spring Cloud Alibaba 以及对应的适配 Spring Cloud 和 Spring Boot 版本关系(由于 Spring Cloud 版本 命名有调整,所以对应的 Spring Cloud Alibaba 版本号也做了对应变化) 

 SpringCloud与SpringBoot版本选型

https://github.com/alibaba/spring-cloud-alibaba/wiki/

 下表为按时间顺序发布的 Spring Cloud Alibaba 以及对应的适配 Spring Cloud 和 Spring Boot 版本关系(由于 Spring Cloud 版本 命名有调整,所以对应的 Spring Cloud Alibaba 版本号也做了对应 变化)

 1.通过查看____信息可以发现某个版本是Spring Cloud维护主线版本。GA

 2.Spring Cloud Hoxton.SR9版本对应SpringCloud Alibaba的版 本是__。2.2.6.RELEASE

 分布式服务治理_什么是Nacos

 Nacos是阿里巴巴开源的服务注册中心以及配置中心,致力于给开 发者提供一款便捷、简单上手的开源框架。

 为什么Nacos这么受欢迎

Nacos官方文档的介绍中有这么一句话,如下:

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范 式、云原生范式) 的服务基础设施。

 

 Eureka 、 Config 这两个组件相信大家都用过,有什么感受?

 Nacos主要提供以下四大功能

1、服务发现和服务健康测

Nacos 使服务更容易注册,并通过DNS或HTTP接口发现其他服务, Nacos还提供服务的实时健康检查,以防止向不健康的主机或服务实例发送请求。

2、动态配置服务

动态配置服务允许您在所有环境中以集中和动态的方式管理所有服 务的配置。Nacos消除了在更新配置时重 新部署应用程序, 这使配置的更改更加高效和灵活。

3、动态 DNS 服务

Nacos提供基于DNS协议的服务发现能力,旨在支持异构语言的服 务发现,支持将注册在Nacos上的服务以域名的方式暴露端点,让三方应用方便查阅及发现。

4、服务及其元数据管理

Nacos能让您从微服务平台建设的视觉管理数据中心的所有服务及 元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、 服务的健康状态、服务的流量管理、路由及安全策略。

 Nacos名字由来

 1.Spring Cloud Alibaba中Nacos组件是___。服务注册中心以及配置中心

2. Spring Cloud Alibaba中Nacos组件干掉了Spring Cloud哪三 个组件,分别是____。

Eureka、Bus、Config

分布式服务治理_Nacos Server下载安装 

 官网下载

Releases · alibaba/nacos · GitHub

 

 下载后解压

tar -zxvf nacos-server-1.4.3.tar.gz -C /usr/local

启动服务器

sh startup.sh -m standalone

注意: standalone代表着单机模式运行

 测试

请求http://192.168.66.100:8848/nacos

 分布式服务治理_Docker安装Nacos Server服务

 下载镜像

docker pull nacos/nacos-server:1.4.3

单机版部署

docker run --name nacos -d -p 8848:8848 -e
MODE=standalone -e
NACOS_SERVER_IP=192.168.66.100 nacos/nacosserver

 测试

请求http://192.168.66.100:8848/nacos

 

 分布式服务治理_微服务聚合父工程构建

 New Project

 聚合总工程名称

 字符编码

 注解生效激活

 Java编译版本选择

 File Type过滤

 父工程POM

<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns="http://maven.apache.org/POM/4.0.0"
        
xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance"
        
xsi:schemaLocation="http://maven.apache.org/
POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.xiaotong</groupId>
   <artifactId>cloud</artifactId>
   <version>1.0-SNAPSHOT</version>
   <packaging>pom</packaging>
   <!-- 统一管理jar包版本 -->
   <properties>
       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
       <maven.compiler.source>1.8</maven.compiler.source>
       <maven.compiler.target>1.8</maven.compiler.target>
       <spring-cloud.version>2021.0.0</spring-cloud.version>
       <spring-boot.version>2.6.3</spring-boot.version>
   </properties>
   <!-- 子模块继承之后,提供作用:锁定版本+子 modlue不用写groupId和version -->
   <dependencyManagement>
       <dependencies>
           <!--spring boot 2.6.3-->
           <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-bootstarter-parent</artifactId>
               <version>${springboot.version}</version>
               <type>pom</type>
               <scope>import</scope>
           </dependency>
           <!--spring cloud 2021.0.0-->
           <dependency>
               <groupId>org.springframework.cloud</groupId>
               <artifactId>spring-clouddependencies</artifactId>
               <version>${springcloud.version}</version>
               <type>pom</type>
               <scope>import</scope>
           </dependency>
       </dependencies>
   </dependencyManagement>
</project>

IDEA开启Dashboard

普通的Run面板

 Run Dashboard面板

 修改配置文件

在.idea/workspace.xml 文件中找到

 添加配置

<component name="RunDashboard">
  <option name="ruleStates">
    <list>
      <RuleState>
        <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
      </RuleState>
      <RuleState>
        <option name="name" value="StatusDashboardGroupingRule" />
      </RuleState>
    </list>
  </option>
  <option name="configurationTypes">
  <set>
    <option value="SpringBootApplicationConfigurationType" />
  </set>
</option>
</component>

有关Spring Cloud Alibaba-全面详解(学习总结---从入门到深化)的更多相关文章

  1. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  2. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  3. SPI接收数据异常问题总结 - 2

    SPI接收数据左移一位问题目录SPI接收数据左移一位问题一、问题描述二、问题分析三、探究原理四、经验总结最近在工作在学习调试SPI的过程中遇到一个问题——接收数据整体向左移了一位(1bit)。SPI数据收发是数据交换,因此接收数据时从第二个字节开始才是有效数据,也就是数据整体向右移一个字节(1byte)。请教前辈之后也没有得到解决,通过在网上查阅前人经验终于解决问题,所以写一个避坑经验总结。实际背景:MCU与一款芯片使用spi通信,MCU作为主机,芯片作为从机。这款芯片采用的是它规定的六线SPI,多了两根线:RDY和INT,这样从机就可以主动请求主机给主机发送数据了。一、问题描述根据从机芯片手

  4. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  5. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  6. 微信小程序开发入门与实战(Behaviors使用) - 2

    @作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors    1、什么是behaviors    2、behaviors的工作方式    3、创建behavior    4、导入并使用behavior    5、behavior中所有可用的节点    6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors    1、什么是behaviorsbehaviors是小程序中,用于实现

  7. 【Java入门】使用Java实现文件夹的遍历 - 2

    遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg

  8. ES基础入门 - 2

    ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear

  9. ruby - 我正在学习编程并选择了 Ruby。我应该升级到 Ruby 1.9 吗? - 2

    我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or

  10. ruby - 我如何学习 ruby​​ 的正则表达式? - 2

    如何学习ruby​​的正则表达式?(对于假人) 最佳答案 http://www.rubular.com/在Ruby中使用正则表达式时是一个很棒的工具,因为它可以立即将结果可视化。 关于ruby-我如何学习ruby​​的正则表达式?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1881231/

随机推荐