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请求


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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣面试150 阶乘后的零 数论 找规律 质因数

Problem: 172. 阶乘后的零 思路 👨‍🏫 大佬神解 一个数末尾有多少个 0 ,取决于这个数 有多少个因子 10而 10 可以分解出质因子 2 和 5而在阶乘种,2 的倍数会比 5 的倍数多,换而言之,每一个 5 都会找到一…

AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀

❤️作者主页:小虚竹 ❤️作者简介:大家好,我是小虚竹。2022年度博客之星评选TOP 10🏆,Java领域优质创作者🏆,CSDN博客专家🏆,华为云享专家🏆,掘金年度人气作…

电脑照片分辨率怎么调?这款dpi修改工具好用

许多考试平台在上传证件照片的时候,大多都会对图片分辨率有具体要求,但是如果遇上手上的图片分辨率达不到要求,那么怎么改图片分辨率呢?可以利用专业的dpi修改工具来处理,比如今天分享的就是一个在线修改图片分辨率的方…

唯众物联网安装调试员实训平台物联网一体化教学实训室项目交付山东技师学院

近日,山东技师学院物联网安装调试员实训平台及物联网一体化教学实训室采购项目已顺利完成交付并投入使用,标志着学院在物联网技术教学与实践应用方面迈出了坚实的一步。 山东技师学院作为国内知名的技师培养摇篮,一直以来致力于为社会培养高…

select , poll, epoll思维导图

目录 1. 总的框架结构 2. select 3. poll 4. epoll 1. 总的框架结构 2. select

自动驾驶轨迹规划之时空语义走廊(一)

欢迎大家关注我的B站: 偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com) 目录 1.摘要 2.系统架构 3.MPDM 4.时空语义走廊 ​4.1 种子生成 4.2 具有语义边界的cube inflation ​4.3 立方体松弛 本文解析了丁文超老师…

解决Animate.css动画效果无法在浏览器运行问题

背景 在开发官方网站的时候,临时更换了电脑,发现原本正常的动画效果突然不动了。 经过 chrome、Microsoft Edge都无法运行。 Animate.css | A cross-browser library of CSS animations. 问题排查 通过审查元素后发现类名是注入并且生效的。 验证 然…

视频素材库在哪里找无水印?推荐几个优质高清视频素材网

在探索创作无限可能的旅程中,每位视频创作者都渴望找到那些能够让作品生动起来、讲述更加动人故事的素材。为此,我继续为你介绍一系列的无水印高清素材网站,它们不仅能为你的视频添加视觉与听觉的魅力,还能帮助你以更高效的方式实…

阿里云2核4G服务器支持多少人在线?2C4G多少钱一年?

2核4G服务器支持多少人在线?阿里云服务器网账号下的2核4G服务器支持20人同时在线访问,然而应用不同、类型不同、程序效率不同实际并发数也不同,2核4G服务器的在线访问人数取决于多个变量因素。 阿里云2核4G服务器多少钱一年?2核4…

分布式ID生成方案总结

分布式场景下,需要保证每一个服务拿到的id是唯一的。本文讨论、分析、总结了一些常见的分布式ID生成方案 结论:技术上没有银弹,每种分布式id都有自己的使用场景。uuid适用于业务比较简单,对性能没有太高追求等。 目前主流是 基于数…

Linux V4L2 应用编程

V4L2:Video4Linux2,是 Linux 内核中的一个框架,提供了一套用于视频设备驱动程序开发的 API。它是一个开放的、通用的、模块化的视频设备驱动程序框架,允许 Linux 操作系统和应用程序与各种视频设备(如摄像头、视频采集…

【NLP笔记】RNN总结

文章目录 经典RNN单向RNN双向RNNDeep RNNRNN特性总结 变体RNNLSTMGRU 参考及转载内容: 循环神经网络(RNN)深度学习05-RNN循环神经网络完全理解RNN(循环神经网络) 传统的CNN(Covolutional Neural Network&am…

【异或】Leetcode 136. 只出现一次的数字

【异或】Leetcode 136. 只出现一次的数字 解法1 只需要全部异或一下,剩下的就是剩下的元素 ---------------🎈🎈题目链接 136. 只出现一次的数字🎈🎈------------------- 解法1 只需要全部异或一下,剩下的…

【GitHub】2FA(双重身份验证)

无需额外设备完美插件处理:Authenticator Crx搜搜:https://www.crxsoso.com/ 或者google查询:Authenticator

BRAM底层原理详细解释(1)

目录 一、原语 二、端口简述 2.1 端口简介 2.2 SDP端口映射 三、端口信号含义补充说明 3.1 字节写使能(Byte-Write Enable)- WEA and WEBWE: 3.2 地址总线—ADDRARDADDR and ADDRBWRADDR 3.3 数据总线—DIADI, DIPADIP, DIBDI, and D…

(一)、Doris安装使用(基于Doris 2.0.6)

第 1 章Doris简介 1.1、 Doris 概述 ​ Apache Doris由百度大数据部研发(之前叫百度 Palo,2018年贡献到 Apache 社区后,更名为 Doris),在百度内部,有超过200个产品线在使用,部署机器超过1000台…

RHEL9部署Docker环境

华子目录 Docker引擎架构docker引擎架构示意图执行过程示例 RHEL9上安装Docker1.系统要求2.安装yum-utils工具包3.yum安装docker-ce4.配置docker镜像加速docker拉取镜像的过程配置阿里云镜像仓库重新加载守护进程重启Docker服务 5.拉取并运行hello-world镜像6.测试是否安装成功…

四、HarmonyOS应用开发-ArkTS开发语言介绍

目录 1、TypeScript快速入门 1.1、编程语言介绍 1.2、基础类型 1.3、条件语句 1.4、函数 1.5、类 1.6、模块 1.7、迭代器 2、ArkTs 基础(浅析ArkTS的起源和演进) 2.1、引言 2.2、JS 2.3、TS 2.4、ArkTS 2.5、下一步演进 3、ArkTs 开发实践…

HTTP(2)

HTTP 通信过程包括从客户端发往服务器端的请求及从服务器端返回客户端的响应。 那么请求和响应是怎样运作的呢 HTTP 报文 用于 HTTP 协议交互的信息被称为 HTTP 报文。 请求端(客户端)的HTTP 报文叫做请求报文,响应端(服务器…

Vscode按键占用问题解决

Vscode按键占用 在使用vscode的过程中,官方按键 Ctrl . 按键可以提示修复代码中的问题,但是发现按了没有反应。 解决问题 首先确认vscode中是否设置了这个按键,默认设置了的系统输入法中是否有按键冲突了,打开输入法设置检查 …