SpringCloud-记

目录

什么是SpringCloud

什么是微服务

SpringCloud的优缺点

SpringBoot和SpringCloud的区别

RPC 的实现原理

RPC是什么

eureka的自我保护机制

Ribbon

feigin优点

Ribbon和Feign的区别


什么是SpringCloud

  • Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、智能路由、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
  • Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

什么是微服务

微服务架构就是将单体的应用程序分成多个应用程序,这多个应用程序就成为微服务,每个微服务运行在自己的进程中,并使用轻量级的机制通信。这些服务围绕业务能力来划分,并通过自动化部署机制来独立部署。这些服务可以使用不同的编程语言,不同数据库,以保证最低限度的集中式管理。

SpringCloud的优缺点

优点

  • 耦合度比较低。不会影响其他模块的开发
  • 减轻团队的成本,可以并行开发,不用关注其他人怎么开发,先关注自己的开发
  • 配置比较简单,基本用注解就能实现,不用使用过多的配置文件
  • 微服务跨平台的,可以用任何一种语言开发
  • 每个微服务可以有自己的独立的数据库也有用公共的数据库
  • 直接写后端的代码,不用关注前端怎么开发,直接写自己的后端代码即可,然后暴露接口,通过组件进行服务通信。

缺点

  • 部署比较麻烦,给运维工程师带来一定的麻烦。
  • 针对数据的管理比麻烦,因为微服务可以每个微服务使用一个数据库。
  • 系统集成测试比较麻烦
  • 性能的监控比较麻烦

SpringBoot和SpringCloud的区别

SpringBoot专注于快速方便的开发单个个体微服务。

SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来。

为各个微服务之间提供,配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等集成服务

SpringBoot可以离开SpringCloud独立使用开发项目, 但是SpringCloud离不开SpringBoot ,属于依赖的关系.

SpringBoot专注于快速、方便的开发单个微服务个体,SpringCloud关注全局的服务治理框架

RPC 的实现原理

首先需要有处理网络连接通讯的模块,负责连接建立、管理和消息的传输。其次需要有编/解码的模块,因为网络通讯都是传输的字节码,需要将我们使用的对象序列化和反序列化。剩下的就是客户端和服务器端的部分,服务器端暴露要开放的服务接口,客户调用服务接口的一个代理实现,这个代理实现负责收集数据、编码并传输给服务器然后等待结果返回。

RPC是什么

RPC 称远程过程调用(Remote Procedure Call),用于解决分布式系统中服务之间的调用问题。 通俗地讲,就是开发者能够像调用本地方法一样调用远程的服务。 所以,RPC的作用主要体现在这两个方面:

  • 屏蔽远程调用跟本地调用的区别,让我们感觉就是调用项目内的方法;
  • 隐藏底层网络通信的复杂性,让我们更专注于业务逻辑

eureka的自我保护机制

当Eureka Server 节点在短时间内丢失了过多实例的连接时(比如网络故障或频繁启动关闭客户端)节点会进入自我保护模式,保护注册信息,不再删除注册数据,故障恢复时,自动退出自我保护模式。

Ribbon

ribbon是一个负载均衡客户端,可以很好的控制htt和tcp的一些行为。feign默认集成了ribbon。

feigin优点

1.feign采用的是基于接口的注解

2.feign整合了ribbon,具有负载均衡的能力

3.整合了Hystrix,具有熔断的能力

使用:

1.添加pom依赖。

2.启动类添加@EnableFeignClients

3.定义一个接口 @FeignClient(name=“xxx”) 指定调用哪个服务

Ribbon和Feign的区别

1.Ribbon都是调用其他服务的,但方式不同。

2.启动类注解不同,Ribbon是@RibbonClient,feign 的是@EnableFeignClients

3.服务指定的位置不同,Ribbon是在@RibbonClient注解上声明,Feign 则是在定义抽象方法的接口中使用@FeignClient声明。

4.调用方式不同,Ribbon需要自己构建http 请求,模拟http请求


近日总结:大学女生宿舍小团体挺严重的,不止我的宿舍,光是听说到的就不计少数,我的舍友天天躺在宿舍,而我自己天天早出晚归学习,运动,锻炼身体......回到宿舍还要被阴阳怪气,还蛮影响心情的,还有些素质不太高的会趁你不在宿舍的时候动你的东西,给我心情都影响了...... 大学舍友真的做不了朋友......

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32之HAL开发——系统定时器(SysTick)

系统定时器(SysTick)介绍 SysTick—系统定时器是属于 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK等于 72M。当…

人工智能之Tensorflow变量作用域

在TensoFlow中有两个作用域(Scope),一个时name_scope ,另一个是variable_scope。variable_scope主要给variable_name加前缀,也可以给op_name加前缀;name_scope给op_name加前缀。 variable_scope 通过所给的名字创建或…

【电路笔记】-场效应管(FET)电流源

场效应管(FET)电流源 文章目录 场效应管(FET)电流源1、概述2、偏置结 FET2.1 N沟道JFET偏置2.2 N沟道JFET输出特性3、JFET 作为恒流源4、JFET 零电压偏置5、JFET 负电压偏置6、FET 恒流源示例17、JFET电流源8、FET 恒流源示例29、FET 恒流源示例310、总结FET 恒流源使用 JFET 和…

Java学习笔记NO.26

T3.以面向对象的思想,编写自定义类描述IT从业者。 设定属性包括:姓名,年龄,技术方向,工作年限; 方法包括:工作。 要求: (1)设置属性的私有访问权限,通过公有的get,set…

业务服务:redisson

文章目录 前言一、配置1. 添加依赖2. 配置文件/类3. 注入redission3. 封装工具类 二、应用1. RedisUtils工具类的基本使用 三、队列1. 工具类2. 普通队列3. 有界队列(限制数据量)4. 延迟队列(延迟获取数据)5. 优先队列&#xff08…

Netty - 五种 I/O 多路复用机制 select、poll、epoll、kqueue、iocp(windows) 对比

文章目录 Preselect、poll、epoll、kqueue、iocp(windows) Pre 高性能网络编程 - select、 poll 、epoll 、libevent select、poll、epoll、kqueue、iocp(windows) 这里我将对比一下常见的多路复用技术:select、poll、epoll、kqueue 和 IOCP(Windows&a…

分区表索引失效导致业务异常

业务无法正常进行,查看数据库后台进程,发现有大量阻塞 QL_ID WAIT_CLASS EVENT ------------- --------------- ------------------------- 1cpk7srb6cr0r User I/O db file scattered read 279knu21n06x6…

音视频开发之旅(78)- Docker使用和交互流程

目录 1.Docker是什么 2.DockerFile的使用 3.常用命令 4.Docker和Web服务的交互流程 5.资料 一、Docker是什么 Docker通过轻量级的容器化技术,使得应用程序及其依赖可以打包在一个可移植的容器中运行,确保应用在不同环境下的一致性和效率。 1.1 核心…

中断(NVIC)的使用--EXTI--TIM

目录 中断是什么 轮询 中断 中断调用情况 中断的分类 内部中断(TIM、UART等) tim.c tim.h 外部中断EXTI exti.c exti.h 中断是什么 在处理事件的时候有两种方式:轮询和中断。 轮询 顾名思义,就是每轮都询问一次。比如…

结构体类型详细讲解(附带枚举,联合)

前言: 如果你还对结构体不是很了解,那么本篇文章将会从 为什么存在结构体,结构体的优点,结构体的定义,结构体的使用与结构体的大小依次介绍,同样会附带枚举与联合体 目录 为什么存在结构体: 结构…

毕业设计:日志记录编写(3/17起更新中)

目录 3/171.配置阿里云python加速镜像:2. 安装python3.9版本3. 爬虫技术选择4. 数据抓取和整理5. 难点和挑战 3/241.数据库建表信息2.后续进度安排3. 数据处理和分析 3/17 当前周期目标:构建基本的python环境:运行爬虫程序 1.配置阿里云pytho…

【C++】如何用一个哈希表同时封装出unordered_set与unordered_map

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.哈希桶源码 2.哈希…

(三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练

这里写目录标题 一、colmap解算数据放入高斯1. 将稀疏重建的文件放入高斯2. 将稠密重建的文件放入高斯 二、vkitti数据放入高斯 一、colmap解算数据放入高斯 运行Colmap.bat文件之后,进行稀疏重建和稠密重建之后可以得到如下文件结构。 1. 将稀疏重建的文件放入高…

windows10 WSL启动Ubuntu虚拟机,安装DolphinScheduler

文章目录 1. 启动WSL与虚拟机2. 安装Docker与DolphinScheduler容器 1. 启动WSL与虚拟机 使用管理员权限运行命令: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux重启后即可创建虚拟机 在Microsoft Store中搜索Ubuntu&…

Wear-Any-Way——可控虚拟试衣一键试穿,可自定义穿着方式

概述 Wear-Any-Way 是阿里巴巴最新推出的虚拟试衣技术,它不仅可以让用户在虚拟环境中试穿衣服,还可以根据需要自定义衣服的样式,比如卷起袖子、打开或拖动外套等。这种技术的引入旨在帮助消费者更好地了解衣服在不同穿着方式下的效果&#x…

一个python实现的kline-chart图表程序(二)

前面一中简单介绍了kline-chart的图表程序,实际上这个程序最主要的功能不是显示K线,因为显示K线的程序太多了,没必要专门重写,这个程序最主要的功能是根据需要显示包含K线在内的各种指标,自己算的指标,或是…

plSql 大批量数据导入到表中

主要2种思路,一为insert插入sql,二是借助plsql提供的工具 insert语句odbc importer/导入器 insert语句 把要插入的数据转为insert语句,直接复制到plsql的sql窗口,运行即可;或者在命令行窗口回车键,选择要执…

使用 RunwayML 对图像进行 Camera 操作

RunwayML 是一個功能強大的平台,可以讓您使用 AI 和机器学习来增强您的图像和视频。 它提供一系列预训练模型,可用于各种任务,包括图像编辑、风格化和特效。 在本文中,我们将介绍如何使用 RunwayML 对图像进行 Camera 操作。我们…

[AIGC] SQL中的数据添加和操作:数据类型介绍

SQL(结构化查询语言)作为一种强大的数据库查询和操作工具,它能够完成从简单查询到复杂数据操作的各种任务。在这篇文章中,我们主要讨论如何在SQL中添加(插入)数据,以及在数据操作过程中&#xf…

数据结构(五)——树森林

5.4 树和森林 5.4.1 树的存储结构 树的存储1:双亲表示法 用数组顺序存储各结点,每个结点中保存数据元素、指向双亲结点(父结点)的“指针” #define MAX_TREE_SIZE 100// 树的结点 typedef struct{ElemType data;int parent; }PTNode;// 树的类型 type…