微服务八股-分布式事务-注册中心-服务保护

news2024/9/19 10:09:57

一、分布式事务

1.CAP和BASE

三者不能同时存在。
CP:由于网络分片的存在,如果要保证强一致性就不能写,此时不满足可用性
AP:由于网络分片的存在,如果要保证可用性,能读也能写,就不能保证强一致性。

BASE理论:

2.AT模式原理

添加全局锁,由事务协调者进行记录。只会说由事务协调者管理的事务不能操作这个数据,而其他的还是可以进行操作。
而XA模式开启的是数据库锁,拿到锁后别人不能进行数据库的增删改查任何操作。

其他不由事务协调者管理的事务,可能会出现去修改我们全局锁管理的数据,只是概率很低,预防措施。

AT模式会保存两份快照一个是修改前,一个是修改后。修改后的快照可以判断在第二阶段是否数据进行了修改,进行了就发出警告。

3.TCC模式

4.最大努力通知

分布式事务,解决方案就是避免产生分布式事务

二、注册中心

1.环境隔离

创建命名空间可以有一个唯一标识:

 

2.分级模型

3.Eureka和Nacos

Eureka得自己启动

使用只需要将依赖更改和配置修改

一般注册中心都会采用AP就是可用性,因为不可用的话注册都注册不了叫什么注册中心。

区别:

nacos对服务的注册发现更加敏感,

三、远程调用

1.负载均衡原理

2.切换负载均衡算法

首先对于负载均衡的配置类进行自定义

再在启动类上添加注解

nacos负载均衡先配置中的集群,再带权重的优先

四、服务保护

1.线程隔离

2.滑动窗口算法

服务保护限流熔断等等需要对请求的数量和线程数量计数

固定从窗口算法

类似于就是将窗口画小,然后每次来请求就看前一个小窗口和自己的窗口是否超过数量

这个算法就是选择多大的小区间,以及多少区间数量

3.漏桶算法

对于超过限额的策略有直接拒绝,快速失败;还有就是让它等待,等待的算法就是:漏桶算法

4.令牌桶算法

热点参数限流方法的底层就是令牌桶算法

令牌桶适合于限流的范围是可动态变换的(生成令牌的速率),成本更低,适合需要有很多限流规则的场景。热点参数限流,不是针对接口进行限流,是针对某一个接口中某一个方法的参数进行限流,可以不同参数进行不同限流,有查询商品的接口,有的商品在进行秒杀,秒杀的商品单独设置限流规则,每一个参数有一个自己的令牌桶。参数的使用上下浮动没有达到整个接口的上限是可以接受的。

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

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

相关文章

蜂窝物联水雨情监测:实时监测水雨情,提前预警守护平安家园!

蜂窝物联水雨情监测系统是一个集成了物联网技术的综合系统,主要用于实时监测和管理水文、气象信息,特别是关于水体(如河流、湖泊等)的水位和降雨量等关键参数。 水位、雨量等数据监测 实时采集水位计、雨量等数据;通过…

Google Extension 【Google 最佳扩展插件】

pockettube: youtube manager 订阅号分组沉浸式翻译:全网口碑炸裂的双语对照网页翻译插件Google 翻译腾讯翻译篡改猴MetaMaskGlarity: Summarize & Translate Any Page

执行普罗米修斯插件mysqld_exporter出现闪退问题如何解决?

运行 mysqld_exporter.exe 文件闪退的问题可能是由于配置文件或环境变量设置不正确导致的。 检查配置文件 my.cnf: 打开 my.cnf 文件,确保其中的配置项正确无误,尤其是 MySQL 数据库的连接信息。配置示例:[client] useryour_mysql…

Android studio版本和Android gradle plugin版本对应表

1.Android studio 版本的升级,一个方面上看主要是升级对AGP最高版本的支持 2.那为什么AGP要出高版本呢,主要支持高版本的API,真是一环扣一环

3.5 四个子空间的维度

一、概述 这一节的主要定理是将秩与维度联系在一起。矩阵的秩就是主元的个数,子空间的维度是基向量的个数,我们计算出这两个数就可以得到秩与维度。 A A A 的秩揭露了四个基本子空间的维度。 四个子空间中,两个子空间来自 A A A&#xff0c…

01Python相关基础学习

Python基础 模块相关导入模块sys模块 模块相关 导入模块 1. import 模块名 2. import 模块名 as 别名 3. from 模块名 import 成员名 as 别名sys模块 1. sys.argv 介绍: 实现从程序的外部想程序传递参数返回的是一个列表,第一个元素是程序文件名,第二个元素是程序外部传入的…

抖音小店怎么对接达人合作?达人带货的细节分享,附邀约达人话术

大家好,我是电商花花 人有多大胆,地就有多大产,做抖店想要出单,爆单,那必须要对接大量的达人来帮我们带货,抖音小店就是直播电商,帮我们对接的达人越多,出单就越多。 所以做抖店如…

龙蜥开发者说:夏日编码奇遇,中国科学院大学学子的开源世界探索记 | 第 27 期

「龙蜥开发者说」第 27 期来了!开发者与开源社区相辅相成,相互成就,这些个人在龙蜥社区的使用心得、实践总结和技术成长经历都是宝贵的,我们希望在这里让更多人看见技术的力量。本期故事,我们邀请了中国科学院大学学生…

3D 生成重建015-nerf2mesh从神经辐射场中提取mesh和纹理!

3D 生成重建015-nerf2mesh从神经辐射场中提取mesh和纹理! 文章目录 0 论文工作1 论文方法2 效果 0 论文工作 NeRF2Mesh 提出了一种从多视角 RGB 图像重建纹理表面网格的新方法。它克服了传统 NeRF 模型的局限性,由于其隐式表示,传统 NeRF 模…

有限元法之有限元空间的构造

目录 一、区域Ω的剖分 二、三角形一次元 三、一次元的基函数与面积坐标 四、三角形二次元及其基函数 前两节我们介绍了有限元基本概念和变分理论的推导,本节我们继续探讨有限元空间的构造。 一、区域Ω的剖分 对矩形区域进行三角剖分,其中x方向剖…

CPU数据传送控制方式

引入 为了实现CPU与I/O设备信息交换的同步 无条件传送 示例1: 示例2: 程序查询方式 引入 工作过程 单个外设 多个外设 特点 中断传送方式 工作过程 特点 DMA 概述 DMAC功能 总线请求信号HOLD 总线请求响应信号HOLDA 工作过程 小结

C++ 程序的基本要素

一 标识符 程序中变量、类型、函数和标号的名称称标识符。 a,b,name,int,char,main,void等。 系统已有的标识符称为关键字。 常见关键字 using,namespace,void,return; int,float,double,char,bool,signed,unsignex, long,short,const,true,false,sizeof if,else,for,do,whil…

基于STM32实现智能空气净化系统

目录 引言环境准备智能空气净化系统基础代码示例:实现智能空气净化系统 空气质量传感器数据读取风扇和滤网控制显示系统用户输入和设置应用场景:家庭空气净化与健康管理问题解决方案与优化收尾与总结 1. 引言 本教程将详细介绍如何在STM32嵌入式系统中…

揭秘淘宝API接口:轻松连接电商巨头,打造无限商业可能

淘宝API接口是淘宝平台对外开放的一系列接口,通过这些接口,开发者可以获取淘宝平台上的商品信息、订单信息、物流信息等数据,实现与淘宝平台的交互。淘宝API接口支持多种数据格式,如JSON、XML等,方便开发者根据自己的需…

【Python】【报错解决】【无法安装socket库】No matching distribution found for socket

一、问题描述 如下图,笔者在做一个安全相关的项目时,遇到如下报错: No matching distribution found for socket 在尝试安装socket(套接字)库时报错,报错代码: pip install socket二、原因及解…

基于SSM前后端分离版本的论坛系统

目录 前言 一、项目背景 二、相关技术及工具 三、数据库设计 四、软件开发 4.1、搭建环境 4.1.1、创建工程 4.1.2、配置application.yml文件 4.1.3、环境测试 创建测试接口 4.1.4、继续配置 4.2、公共组件 4.2.1、创建工程结构 4.2.2、配置数据源 添加相关依赖 …

视频监控平台AS-V1000产品介绍:账户或用户数据的导入和导出功能介绍

目录 一、功能描述 (一)导入功能定义 (二)导出功能定义 二、用户数据的导入导出的作用 三、AS-V1000新版本的导出和导入功能介绍 (一)功能主界面 (二)导出功能 1、导出操作 …

彭永东所交“答卷”道尽万般无奈,贝壳找房营收、利润双双锐减

就今年第一季度业绩披露后两日的股价变动来看,贝壳找房(下称“贝壳”)似乎并未在港股和美股市场取得预期的效果。 港股市场,截至5月24日收盘,贝壳-W(HK:02423)报收43.9港元/股,当日跌…

单元测试(了解)

单元测试定义 针对最小功能单元(方法),编写测试代码对其进行正确性测试 之前如何进行单元测试?有什么问题? main中编写测试代码,调用方法测试 问题: 无法自动化测试 每个方法的测试可能不是…

Node.js —— Express 中间件、接口编写、接口跨域 【0基础向Express模块学习】

目录 中间件的概念 什么是中间件 现实生活中的例子 Express 中间件的调用流程 ​编辑 Express 中间件的格式 next 函数的作用 Express 中间件的初体验 定义中间件函数 全局生效的中间件 定义全局中间件的简化形式 中间件的作用 ​编辑 定义多个全局中间件 局部生…