springcloud总结篇

news2025/2/25 7:35:14

一.整体结构

  • springcloud总体架构
    在这里插入图片描述
  • 对比学习
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

二.具体

1.场景模拟

  • 订单服务调用库存服务来更新数据库中的库存

2.springcloud问题解析

Eureka +OpenFeign (Ribbon+RestTemplate)+ Hystrix + Gateway + config + Bus

  1. 订单服务只知道库存服务的名称,如何获得地址?
    Eureka:服务注册与发现(名字+地址)
  2. 此时订单服务获取了库存服务的地址,但是每次都需要建立连接,发送请求,释放连接,需要高效的通过地址调用服务?
    OpenFeign:服务调用(被调用服务映射为一个service)
  3. 此时库存服务是一个集群,在服务注册中心同一个名称注册了多个地址,订单服务如何找到具体的哪一个服务?
    Ribbon:负载均衡(可以采用轮询方法)
  4. 如果订单服务此时访问了库存服务,订单服务本身业务逻辑出问题,用户无法知晓,怎么办?
    Hystrix:服务降级(如果当前方法挂掉,有兜底方法来提示用户)
  5. 前端兄弟要调用订单服务,他必须要知道订单服务在注册中心的名字?
    Gateway:服务网关(通过参数解析地址)
  6. 其他问题
    库存服务每个都有一个配置数据库的,更改数据库需要更改很多?
    Config + Bus :服务配置和服务总线(全体动态刷新和全部从github上获取配置)

3.spring cloud alibaba 解析

Nacos + OpenFeign (Ribbon+RestTemplate)+ sentinel + Gateway + Seata

  1. 订单发现库存服务,库存服务统一配置管理(解决上述1+6)
    Nacos=Eureka+config+bus:服务注册中心和配置中心
  2. 此时订单服务获取了库存服务的地址,但是每次都需要建立连接,发送请求,释放连接,需要高效的通过地址调用服务?
    OpenFeign:服务调用(被调用服务映射为一个service)
  3. 此时库存服务是一个集群,在服务注册中心同一个名称注册了多个地址,订单服务如何找到具体的哪一个服务?
    Ribbon:负载均衡(可以采用轮询方法)
  4. 如果订单服务此时访问了库存服务,订单服务本身业务逻辑出问题,用户无法知晓,怎么办?
    Sentinel:服务降级
  5. 分布式的事务管理
    seata:分布式事务管理

4.springcloud alibaba的组件

  • Nacos = Eureka+config+bus
  • Sentinel = Hystrix
  • Seata 解决分布式事务问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/40533.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python测试-unittest,2022-11-27

(2022.11.27 Sun) unittest是Python自带的单元测试框架。unittesthtml和pytestallure(测试报告)成为常用的自动测试和报告的框架组合。 unittest-archi-2022-11-23-2114.png 概念 test case测试用例:测试用例是测试的基本单元,用于测试一组特定输入的特…

OpenCV图像特征提取学习四,SIFT特征检测算法

一、SIFT特征检测概述 SIFT的全称是Scale Invariant Feature Transform,尺度不变特征变换,由加拿大教授David G.Lowe提出的。SIFT特征具有对旋转、尺度缩放、亮度变化等保持不变性,是一种非常稳定的局部特征。 1.1 SIFT算法具的特点 图像…

平衡搜索树——AVL树小记

文章目录二叉搜索树平衡搜索树AVL树定义AVL中平衡(Balance)因子的定义AVL树插入规则AVL树失衡情况左左失衡/右右失衡左右失衡RL失衡代码左旋-调整平衡插入调整平衡因子AVL树正确性的验证二叉搜索树 理想情况下,二叉搜索树的查找时间复杂度是0(log(n)) 但是&#xff…

Linux 进程概念 —— 初识操作系统(OS)

文章目录1. 概念2. 设计操作系统的目的3. 定位4. 如何理解管理5. 再谈操作系统🍑 硬件部分🍑 操作系统🍑 驱动程序🍑 用户部分🍑 系统调用接口🍑 用户接口操作6. 总结1. 概念 任何计算机系统都包含一个基本…

HTML5基础汇总

目录 一,html5文档头部 1.页面标题及字符集的收集 (1).title标签 (2).charset属性 2.元信息的设置 (1).meta标签的作用 (2).http-equiv/content (2&am…

数据结构堆介绍,图文详解分析——Java/Kotlin双版本代码

堆介绍 堆是一种特殊的树结构。根据根节点的值与子节点值的大小关系,堆又分为最大堆和最小堆。 最大堆:每个节点的值总是大于或者等于其任意子节点的值。所以最大堆中根节点即为最大值。 最小堆:每个节点的值总是小于或者等于其任意子节点…

第六章课后题(LSTM | GRU)

目录习题6-3 当使用公式(6.50)作为循环神经网络得状态更新公式时,分析其可能存在梯度爆炸的原因并给出解决办法.习题6-4 推导LSTM网络中参数的梯度,并分析其避免梯度消失的效果​编辑习题6-5 推导GRU网络中参数的梯度,并分析其避免梯度消失的…

集合框架----源码解读Vector篇

1.vector官方简绍 Vector类实现了一个可增长的对象数组。与数组一样,它包含可以使用整数索引访问的组件。但是,Vector的大小可以根据需要增加或缩小,以适应在创建Vector之后添加和删除项。 每个向量都试图通过维护一个容量和一个capacityIncr…

C#设计模式详解(2)——Factory Method(工厂方法)

文章目录C#设计模式详解(2)——Factory Method(工厂方法)工厂方法模式1.1 概念1.2 意图1.3 问题1.4 解决方案1.5 工厂方法模式结构1.6 案例代码1.7 游戏开发中的应用C#设计模式详解(2)——Factory Method(工厂方法) 工厂方法模式…

领悟《信号与系统》之 非周期信号的傅里叶变换

非周期信号的傅里叶变换一、非周期信号的傅里叶变换二、 典型信号的傅立叶变换1.单边指数信号2.偶双边指数3. 矩阵脉冲信号4. 奇双边指数5. 符号函数6. 冲激信号7. 阶跃信号三、常用傅里叶变换表这里记录的信号都是非周期信号的傅里叶变化,频谱变换的特点就是&#…

【计算机网络】数据链路层:使用广播信道的数据链路层(1)

局域网的数据链路层 局域网特点:网络为一个单位所拥有,地理范围和站点数目均有限。 地理范围和站点数目均有限。 局域网优点: 具有广播功能,从一个站点可以很方便地访问全网。 便于系统的拓展和演变,各设备的位置…

Discourse 论坛激活邮件问题

根据 Discourse 的官方推荐,我们使用的是 MailGun 的服务。 在大部分情况下都没有问题,但是在一些特定的邮件地址,例如 iCloud,我们在发送激活邮件的时候有提示为: "message": "5.5.1 Error: need MA…

实验:温湿度数据oled显示

OK,本次介绍一个oled实验 本来只想做oled实验的 后面想想这个实验太简单 就加上了温湿度传感器 oled可以打印英文和数字,比如用display.println(“Hello World!”)就可以了 如果打印汉字就比较复杂了 需要相应的软件,生成编码 然后一个字一个字打印 不过只要汉字不…

【数据结构】树——二叉树

1.树的介绍以及树的基本概念和性质 2.二叉树介绍以及二叉树的性质 3.二叉树的构建:穷举创建,递归创建 4.二叉树的基本操作 之前我们介绍了顺序表,链表,以及栈和队列,这几种数据结构都属于线性结构,而我们接…

GreenPlum/PostGreSQL表锁处理

GreenPlum/PostGreSQL表锁处理 数据库中遇到表锁的情况,可以通过select * from pg_stat_activity;查看表锁的进程及进程ID,从而取消进程,解锁。 一、模拟表锁 1.1 模拟表数据 创建lock_test表,并随意插入一条数据,…

Oracle自治事务示例演示

自治事务 自治事务(Pragma autonomous_transaction):是PL/SQL块中的一个单独事务,与调用或触发自己的事务之间互不干扰,自己commit和rollback不会影响其他事务,也不会被其他事务所影响。 通俗的讲&#xff…

【Android App】在线语音识别功能实现(使用云知声平台与WebSocket 超详细 附源码)

需要源码和相关资源请点赞关注收藏后评论区留下QQ~~~ 一、在线语音识别 云知声的语音识别同样采用WebSocket接口,待识别的音频流支持MP3和PCM两种格式,对于在线语音识别来说,云知声使用JSON串封装报文,待识别的音频以二进制形式发…

webpack打包vue文件+gulp打包sass文件

webpack打包vue文件 1,下载依赖 npm i vue-loader npm i webpack-cli2,编写webpack配置文件 /*** 关于webpack的配置文件*/const path require(path)const { VueLoaderPlugin } require(vue-loader)const glob require(glob) // node自带的读取文件的库 /*** …

会多门编程语言的你,最推荐哪3-5门语言?

如果你还想在编程的路上继续提高,那我建议你至少学习4种编程语言。可用的编程语言有很多,所以选择一种感兴趣的学习就可以了。我这么建议的原因是,要掌握编程,建立信心,提高能力,最简单的办法就是学习多种编…

浅析工作流调度器Azkaban

title: Azkaban系列 第一章 概述 1.1 为什么需要工作流调度器 1、一个完整的数据分析系统通常都是由大量任务单元组成: shell 脚本程序,java 程序,mapreduce 程序、hive 脚本等 2、各任务单元之间存在时间先后及前后依赖关系 3、为了很好地…