当前位置: 首页 > news >正文

5.运输层

5. 运输层

1. 概述

  • 第2~4章依次介绍了计算机网络体系结构中的物理层数据链路层网络层,它们共同解决了将主机通过异构网络互联起来所面临的问题,实现了主机到主机的通信
  • 然而在计算机网络中实际进行通信的真正实体,是位于通信两端主机中的进程
  • 如何为运行在不同主机上的应用进程提供直接的逻辑通信服务,就是运输层的主要任务,运输层协议又称为端到端协议

2. 端口号,复用和分用

1. 运输层端口号
  • 运行在计算机上的进程是使用进程标识符(Process ldentification,PID)来标识的。
    • 然而,因特网上的计算机并不是使用统一的操作系统,而不同操作系统(Windows、Linux、.MacOS)
      使用不同格式的进程标识符
    • 为了使运行不同操作系统的计算机的应用进程之间能够基于网络进行通信,就必须使用统一的方法
      对TCPP体系的应用进程进行标识
  • TCP/IP体系结构的运输层使用端口号来标识和区分应用层的不同应用进程。端口号的长度为6比特,取
    值范围是0~65535

端口号只具有本地意义,即端口号只是为了标识本计算机网络协议栈应用层中的各应用进程。在因特网中,不同计算机中的相同端口号是没有关系的,即相互独立。另外,TCPUDP端口号之间也是没有关系的

2. 发送方的复用和接收方的分用
  1. 复用(Multiplexing):
    • 定义: 复用是指将多个应用程序的数据流合并到一个共享的通信通道上
    • TCP中的复用: 在TCP中,复用通过源端口号来实现。TCP连接的两端使用IP地址和端口号来唯一标识。源端口号表示发送端的应用程序,目的端口号表示接收端的应用程序。这样,在单个TCP连接中,多个应用程序的数据可以共享同一个物理通信通道
    • UDP中的复用: 在UDP中,复用同样通过源端口号来实现。UDP报文的源端口号用于标识发送端的应用程序,目的端口号用于标识接收端的应用程序
  2. 分用(Demultiplexing):
    • 定义: 分用是指根据数据流中的标识信息将合并的数据流分发给正确的应用程序
    • TCP中的分用: 在TCP中,分用通过目的端口号来实现。接收端根据目的端口号将接收到的数据分发给相应的应用程序。这样,TCP层能够将数据正确地传递给目标应用程序
    • UDP中的分用: 在UDP中,同样通过目的端口号来实现分用。接收端通过目的端口号确定应该将数据交付给哪个应用程序

常见协议的分类

运输层端口号应用举例

3. TCPUDP的对比

注意

  • TCP面向连接是逻辑连接,并非真实物理连接
  • TCP面向字节流,UDP面向应用报文(只是给数据报添加一个UDP首部)
  • TCP只支持单播,UDP支持单播、多播和广播
  • TCP提供可靠服务,UDP提供不可靠服务

4. TCP的流量控制

1. 概述

TCP为应用程序提供了流量控制Flow Control)机制,以解决因发送方发送数据太快而导致接收方来不及接收,造成接收方的接收缓存溢出的问题

流量控制的基本方法:接收方根据自己的接收能力(接收缓存的可用空间大小)控制发送方的发送速率

2. 流量控制方法
  1. 流程

  1. 例题

5. TCP的拥塞(se)控制

1. 基本概念
2. 4种拥塞控制方法

1. 慢开始、拥塞避免

2. 快重传、快恢复

快重传算法和快恢复算法(改进TCP性能,1990年Reno版本)

  1. 问题:只是个别报文丢失,没有出现拥塞,这种情况下还是会将拥塞窗口设置为1,降低了网络利用率

  1. 快重传

    • 采用快重传算法可以让发送方尽早知道发生了个别TCP报文段的丢失
    • “快重传”是指使发送方尽快(尽早)进行重传,而不是等重传计时器超时再重传
      • 这就要求接收方不要等待自己发送数据时才进行捎带确认,而是要立即发送确认,即使收到了失序的报文段也要立即发出对已收到的报文段的重复确认
      • 发送方一旦收到3个连续的重复确认,就将相应的报文段立即重传,而不是等该报文段的重传计时器超时再重传

  2. 快恢复

与快重传算法配合使用的是快恢复算法发送方一旦收到3个重复确认,就知道现在只是丢失了个别的报文段,于是不启动慢开始算法,而是执行快恢复算法

  • 快恢复算法:发送方将慢开始门限ssthresh的值和拥塞窗口cwnd的值都调整为当前cwnd值的一半,并开始执行拥塞避免算法
  • 也有的快恢复实现是把快恢复开始时的cwnd值再增大一些,即cwnd=新ssthresh+3

6. TCP超时重传时间的选择

TCP超时重传时间RTO的选择是TCP最复杂的问题之一

问题:

  • 超时重传时间设置过小,在确认报文段发送给接收方的过程中,发送方重传数据报文,增大了网络负荷
  • 超时重传时间设置过大,需要重传数据报文时,推迟时间太长,网络空闲时间大,降低了传输效率
  • 超时重传时间RTO应略大于往返时间RTT
RTO的选择
1. RTTs的计算

2. RRTd和RTO的计算

发生超时重传时无法测准RTT

通过上述两个例子可以看出:当发送方出现超时重传后,收到确认报文段时是无法判断出该确认到底是对原数据报文段的确认还是对重传数据报文段的确认,也就是无法准确测量出RTT,进而无法正确计算RTO

Karn算法及修正

总结

7. TCP可靠传输的实现

  • TCP的窗口以字节为单位

  • 发送方
    • 发送窗口内的已发送数据如果迟迟未收到确认,会发生超时重传
    • 只有处于发送窗口内的数据才能发送

  • 接收方
    • 接收方只能对按序收到的数据中的最高序号给出累计确认,3次重复确认会导致发送方快重传
    • 序号落入接收窗口内的数据是允许接收的数据

  • 总结

8. TCP的运输连接管理

1. TCP连接的建立

TCP双方连接的建立要解决的三个问题

2. 三报文握手

思考:第三次确认是否多余,能不能两报文握手?

答案:不能,如下图所示

3. 四报文挥手

思考:为什么客户端发送完最后一个确认报文段后不立刻关闭而是等待2个MSL时间后才关闭?

答案:如图所示

image-20241104141359755

TCP保活计时器的作用

9. TCP、UDP报文段首部格式对比

参阅思维导图1

img

10. UDP的校验

[!IMPORTANT]

伪首部只是计算校验和的时候添加的,计算完后会拆除,不参与运输!

UDP校验

11. 思维导图和习题

第5章 运输层(思维导图)-1 (kdocs.cn)

第5章 运输层(思维导图)-2 (kdocs.cn)

第5章 运输层 习题 (kdocs.cn)

相关文章:

5.运输层

5. 运输层 1. 概述 第2~4章依次介绍了计算机网络体系结构中的物理层、数据链路层和网络层,它们共同解决了将主机通过异构网络互联起来所面临的问题,实现了主机到主机的通信然而在计算机网络中实际进行通信的真正实体,是位于通信两端主机中的…...

ActiveMQ 可靠性保障:消息确认与重发机制(二)

ActiveMQ 重发机制 重发机制的原理与触发条件 ActiveMQ 的重发机制是确保消息可靠传输的重要手段。当消息发送到 ActiveMQ 服务器后,如果消费者由于某些原因未能成功处理消息,ActiveMQ 会依据配置的重发策略,将消息重新放入队列或主题中&am…...

Vue+tdesign t-input-number 设置长度和显示X号

一、需求 Vuetdesign t-input-number 想要设置input的maxlen和显示X号 二、实现 t-input&#xff0c;可以直接使用maxlength和clearable属性 <t-input v-model"value" clearable maxlength10 placeholder"请输入" clear"onClear" blur&q…...

机器学习|通过线性回归了解算法流程

1.线性回归引入 2.决策函数 3. 损失函数 4.目标函数 5.目标函数优化问题 6.过拟合 7.正则化...

两向量平行公式、向量与平面平行公式、两平面平行公式;两向量垂直公式、向量与平面垂直公式、两平面垂直公式

目录 一、两向量平行公式​ 二、向量与平面平行公式​ 三、两平面平行公式​ 四、两向量垂直公式​ 五、向量与平面垂直公式​ 六、两平面垂直公式​ 观察与总结 一、两向量平行公式 二、向量与平面平行公式 三、两平面平行公式 四、两向量垂直公式 五、向量与平…...

vscode 个性化

vscode 个性化 设置 吸顶效果 使用前使用后 设置方法 VS Code 的粘性滚动预览 - 类似于 Excel 的冻结首行 插件 代码片段分享 - CodeSnap 使用方式 CtrlShiftP输入CodeSnap 唤起插件选择代码 行内报错提示 - Error Lens 使用前使用后 VSCode Error Lens插件介绍&…...

OpenHarmony-简单的HDF驱动

学习于&#xff1a;https://docs.openharmony.cn/pages/v5.0/zh-cn/device-dev/driver/driver-hdf-manage.md 首先&#xff0c;OpenHarmony系统里的HDF&#xff08;Hardware Driver Foundation&#xff09;驱动框架&#xff0c;已经规范设备驱动的模型、设备节点的配置与统一的…...

Copilot重磅更新:引用文件夹创建Word文档

大家好&#xff0c;AI技术笔记为您带来一则好消息&#xff1a; 根据广大用户的反馈&#xff0c;Microsoft 365 Copilot在Word中的引用能力全面升级啦&#xff01; 不管是撰写、审阅还是定稿文档&#xff0c;现在你可以更快、更高效地引用更多资料&#xff01; ✨三大重磅改进…...

SQL Server数据库提权的几种方法——提权教程

SQL Server数据库提权的几种方法——提权教程 一、简介 在利用系统溢出漏洞没有效果的情况下,可以采用数据库进行提权。 数据库提权的前提条件: 1、服务器开启数据库服务 2、获取到最高权限用户密码 (除Access数据库外,其他数据库基本都存在数据库提权的可能) 二、使用x…...

解决在Mac上无法使用“ll”命令

在 macOS 上&#xff0c;ll 命令是一个常见的别名&#xff0c;它通常是指向 ls -l 的。但是&#xff0c;如果你看到 zsh: command not found: ll&#xff0c;这意味着你当前的 zsh 配置中没有设置 ll 作为别名。 解决方法&#xff1a; 1. 使用 ls -l 命令 如果只是想查看目录…...

Dockerfile最佳实践:构建高效、安全的容器镜像

一、前言 Dockerfile是一个文本文档,它包含用户可以在命令行上调用的所有指令,每一条指令构建一层镜像。在日常开发中我们常常需要自己编写Dockerfile来构建镜像,而构建一个精巧、实用且高品质的镜像对运行环境来说尤为重要。下面我们来排一排如何构建这样的镜像。 二、目…...

mac电脑pytest生成测试报告

时隔了好久再写代码&#xff0c;感觉我之前的积累都白费了&#xff0c;全部忘记了&#xff0c;看来每一步都有记录对于我来说才是最好的。 最近又要重新搞接口自动化&#xff0c;然而是在mac电脑&#xff0c;对于我长期使用windows的人来说真的是个考验&#xff0c;对此次过程…...

鸿蒙 应用开发 项目资源结构及资源访问

三层工程结构 模块分类 使用...

C#学习第20天:垃圾回收

什么是垃圾回收&#xff1f; 定义&#xff1a;垃圾回收是一种自动内存管理机制&#xff0c;负责回收不再使用的对象所占用的内存。目的&#xff1a;通过自动化内存回收&#xff0c;减少内存泄漏的风险&#xff0c;并简化开发者的工作。 垃圾回收的核心概念 1. 垃圾回收器的工…...

C#学习笔记 项目引用添加异常

这个问题出现多次了 我觉得有必要记录一下 场景 同一个解决方案下添加了多个项目 我想在单元测试项目中引用一下项目1&#xff0c;按照步骤&#xff1a;添加引用- 项目- 浏览- 在指定目录下找到项目的工程文件XXXSystem.csproj- 确定 然后就触发了异常 解决方案 首先 清理解决…...

使用模块中的`XPath`语法提取非结构化数据

想要在代码中使用Xpath进行处理&#xff0c;就需要模块lxml 模块安装 pip install lxml -i https://pypi.tuna.tsinghua.edu.cn/simplelxml的使用 使用lxml转化为Element对象 from lxml import etreetext <div> <ul> <li class"item-1"><a …...

复杂度和顺序表(双指针方法)

目录 目录 目录 前言&#xff1a; 一、时间复杂度和空间复杂度 1.1概念 1.2规则 二、顺序表 2.1静态顺序表 2.2动态顺序表 三、双指针法 四、总结 前言&#xff1a; 时间复杂度和空间复杂度是用于判断算法好坏的指标&#xff0c;程序性能的核心指标。时间复杂度主要衡…...

day006-实战练习题-参考答案

老男孩教育-99期-实战练习题 1. 你作为"老男孩教育99期云计算"新晋运维工程师&#xff0c;在入职首日遭遇紧急事件&#xff1a; "生产环境3台Web服务器突发性能告警&#xff0c;技术总监要求你立即完成&#xff1a; 快速建立故障诊断工作区收集关键系统指标分…...

批量删除OpenStack实例

在Linux终端实现批量删除OpenStack实例&#xff0c;支持并发删除、安全确认、重试机制、优先清理运行中实例 #!/bin/bash # # 增强版 OpenStack 删除实例脚本 # 功能&#xff1a;支持并发删除、安全确认、重试机制、优先清理运行中实例 # 更新&#xff1a;2025年4月30日 # ##…...

楼宇智能化一、二章【期末复习】

一章、楼宇概述 智能建筑的定义:以建筑物为平台,基于对各类智能化信息的综合应用,集架构、系统、应用、管理及优化组合为一体,具有感知、传输、记忆、推理、判断和决策的综合智慧能力,形成以人、建筑、环境互为协调的整合体,为人们提供安全、高效、便利及可持续发展功能…...

三生原理与西方哲学的具体对比?

AI辅助创作&#xff1a; 一、本体论差异 ‌生成论与构成论的分野‌ 三生原理以《周易》“太极生两仪&#xff0c;两仪生四象&#xff0c;四象生八卦”、《道德经》“道生一&#xff0c;一生二&#xff0c;二生三&#xff0c;三生万物”为基础&#xff0c;构建动态层级生成的宇…...

呼叫中心座席管理系统:智能升级,高效服务

在数字化转型加速的今天&#xff0c;客户服务体验已成为企业竞争力的核心要素。传统 呼叫中心系统 依赖硬件设备、人工操作的模式已无法满足高效、智能、灵活的现代企业需求。畅信达呼叫中心 座席管理系统 V5.0应运而生&#xff0c;以WEBRTC软电话接入、智能座席辅助、知识库管…...

PCB设计实战技巧宝典:从库管理到布线优化的全流程解析

知识点1【PCB设计流程】 器件 符号 封装 &#xff08;3D模型 实物图 &#xff09; 流程介绍 1、如果没有需要的的库&#xff0c;先画库&#xff1a;器件&#xff0c;符号&#xff0c;封装 2、新建工程&#xff0c;放置器件在原理图 3、原理图转PCB 4、导出ROM和Gerber…...

微信小程序 XSS 防护知识整理

场景1&#xff1a;用户输入表单&#xff08;如评论框&#xff09; 错误做法&#xff1a;直接渲染未过滤的用户输入 // WXML <view>{{ userInput }}</view>// JS&#xff08;用户输入了恶意内容&#xff09; Page({data: { userInput: <script>alert("…...

平衡截断(Balanced Truncation)—— MTALAB 和 Python 实现

平衡截断balreal 算法原理平衡截断过程求解 HSV 为什么不使用定义而是使用 Cholesy 和SVD 分解&#xff1f; MATLAB 实践Python 实现 先验知识&#xff1a;可控性 Gramian W c W_c Wc​、可观性 Gramian W o W_o Wo​ 以及 Hankel 奇异值&#xff08;HSV&#xff09; σ i \s…...

机器手电机驱动器小体积解决方案

市场背景 随着工业4.0与人工智能技术的深度融合&#xff0c;智能机器人正加速渗透至医疗、物流、制造及服务等核心领域。据行业分析显示&#xff0c;2023年全球协作机器人市场规模同比增长23%&#xff0c;其中高精度关节驱动与小型化硬件设计成为技术迭代的关键需求。然而&…...

(数智化)采购管理系统平台开发费用

随着招标采购数智化升级加速&#xff0c;采购管理系统平台开发费用成为企业关注的焦点——从几十万到几百万不等&#xff0c;那么开发成本差异的背后藏着怎样的技术逻辑与价值密码呢&#xff1f;采购管理系统研发商郑州信源信息技术股份有限公司根据行业特点及客户实际实践总结…...

K8S Secret 快速开始

一、什么是 Secret&#xff1f; Kubernetes&#xff08;K8s&#xff09;中的 Secret 是一种用于存储和管理敏感信息&#xff08;如密码、令牌、证书、API 密钥等&#xff09;的资源对象。它避免了将敏感数据明文写入配置文件、镜像或代码中&#xff0c;提供了一种更安全的方式…...

TEN:开启实时语音交互的下一代AI Agent引擎

在AI技术飞速发展的今天&#xff0c;语音交互正成为人机交互的重要方式。传统的文本对话已无法满足用户对自然、高效沟通的需求&#xff0c;而TEN开源框架的出现&#xff0c;为开发者提供了构建超低延迟、可听可说的AI Agent的终极解决方案。 一、TEN的核心优势 超低延迟实时交…...

DeepSeek驱动的金市情绪量化:NLP解析贸易政策文本的情绪传导路径

【AI观察】政策信号与市场情绪的量化关联 基于自然语言处理技术对全球财经文本的情绪分析显示&#xff0c;4月30日亚盘时段现货黄金价格波动率较前日下降12.3%&#xff0c;与技术面修正指标呈现强相关性。特政府最新关税政策调整引发市场风险偏好指数&#xff08;RPI&#xff…...

JVM快速入门

目录 前言&#xff1a; 1.JVM的位置 2.JVM的体系结构 3.类加载器 类加载器中的一些方法和细节&#xff1a; 4.双亲委派机制 5.沙箱安全机制 概念 原理 Java 沙箱安全机制 应用场景 6.Native 7.方法区: 8.PC寄存器 9.栈 10.三种JVM HotSpot VM OpenJ9 VM Zin…...

spring--事务详解

spring事务 什么是事务 我们常说的事务&#xff0c;一般指数据库事务。 数据库事务是指 一个逻辑工作单元中执行的一系列&#xff08;数据库操作&#xff09;&#xff0c;要么一起成功&#xff0c;要么一起失败 当工作单元中的所有操作全部正确完成时&#xff0c;工作单元的…...

CSS实现DIV水平与垂直居中方法总结

大家好&#xff0c;欢迎来到程序视点&#xff01;我是你们的老朋友.小二&#xff01; CSS实现DIV水平与垂直居中方法总结 一、水平居中方案 标准方法 .center-div {margin-left: auto;margin-right: auto; }关键点&#xff1a;必须声明DOCTYPE&#xff08;推荐XHTML 1.0 Tran…...

AI 助力 Python:长时序植被遥感动态分析与生态评估

技术点目录 Python遥感数据处理基础及AI大模型应用技巧常用共享数据资源介绍AI辅助下地球科学数据处理方法及python实现AI辅助下植被参数遥感反演基本原理及python实现AI辅助下地球科学数据分析方法及python实现AI辅助下植被物候提取与分析实践应用AI辅助下植被时空动态分析及p…...

卫星变轨轨迹和推力模拟(单一引力源)MATLAB

代码说明&#xff1a; 常量定义&#xff1a;定义了万有引力常数、地球和月球的质量、半径以及地月平均距离。初始状态设置&#xff1a;设置卫星的初始位置、速度和姿态&#xff0c;以及月球的初始位置。模拟循环&#xff1a;在循环中计算地球和月球对卫星的引力&#xff0c;模…...

2025华东杯B题华东杯数学建模思路代码成品讲解工序安排问题

完整内容请看文章最下面的推广群 我将展示完整的文章、代码和结果 工序安排问题 摘要 本文研究的核心是制造业中的工序安排优化问题&#xff0c;源自实际生产管理中常见的资源分配挑战。问题背景设定为一家拥有100名工人和三条相同服装生产线的成衣制造厂&#xff0c;涉及裁…...

Python的赋值操作都是引用吗?

Python的赋值操作都是引用吗&#xff1f; 一言以蔽之&#xff1a;Python的赋值本质都是引用传递&#xff0c;但不可变对象的表现类似于值传递&#xff0c;这是由对象不可变性造成的效果。&#xff08;我非常确信这篇笔记说的内容都是正确的&#xff0c;这篇笔记是deepseekv3的…...

学习influxDB的安装和使用

influxDB的使用场景 nfluxDB 是一种时序数据库&#xff0c;时序数据库通常被用在监控场景,用来收集各个节点采集到的监控指标,以及监控指标产生的时间点.比如我们收集的主机的监控数据,可以通过查询语句,统计查询过去30分钟内cpu的平均使用率是多少. 相比关系型数据库与时序数…...

LeetCode209_长度最小的子数组

LeetCode209_长度最小的子数组 标签&#xff1a;#数组 #二分查找 #前缀和 #滑动窗口Ⅰ. 题目Ⅱ. 示例0. 个人方法&#xff1a;滑动窗口 标签&#xff1a;#数组 #二分查找 #前缀和 #滑动窗口 Ⅰ. 题目 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足…...

uniapp 实现时分秒 分别倒计时

效果 <view class"issue-price-countdown"> <CountDown :endTimestamp"1745996085000"></CountDown> </view> 引入组件 import CountDown from /components/CountDown.vue; <template> <view class&qu…...

ubuntu下一些环境配置

1、qhull sudo apt install qhull-bin libqhull-dev 2、cmake wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null echo "deb [signed…...

el-check-box多选框和el-select下拉框组合

<template><div><el-selectv-model"selectedValues"multiplecollapse-tagsplaceholder"请选择电压等级"change"handleChange"><el-option key"all" value"all" class"select-all-option">…...

SPSS PCA+判别分析

1&#xff0c; 主成分分析PCA 我们只要对数化的变量数据&#xff1a; &#xff08;1&#xff09;对数据进行标准化处理&#xff1a; 选择【分析】—【描述统计】—【描述】 添加要标准化的变量&#xff0c;勾选【将标准化值另存为变量(Z)】&#xff0c;再点确定 SPSS软件本身不…...

【阿里云大模型高级工程师ACP习题集】2.7 通过微调增强模型能力 (下篇)(⭐️⭐️⭐️ 重点章节!!!)

习题集: 【单选题】在阿里云大模型微调中,以下关于预训练和微调的说法,错误的是?( ) A. 预训练使用自监督/无监督学习方式 B. 微调通常在大规模通用数据集上进行 C. 预训练模型可以为下游任务提供初始模型 D. 微调能让模型适应具体的下游任务 【多选题】LoRA微调中,低秩…...

ag-grid-react 列表导出csv列表getDataAsCsv (自定义导出列表配置)自定义新增,修改导出内容

1.ag-grid-react getDataAsCsv 新增导出字段 方法&#xff1a;临时添加列再导出 你可以通过 columnApi.setColumnDefs() 临时添加需要导出的字段&#xff0c;然后再调用 getDataAsCsv&#xff0c;导出后再恢复原来的列。 import { useRef } from react; import { AgGridReac…...

深度解析:Vue.js 性能优化全景指南(从原理到实践)

前言 随着 Vue.js 应用复杂度提升&#xff0c;性能问题逐渐成为制约用户体验的瓶颈。本文将系统性地剖析 Vue.js 性能优化的 核心原理、关键技巧、工具链支持&#xff0c;并通过真实案例演示如何提升大型应用的运行时性能与加载效率。 一、渲染层优化&#xff1a;减少不必要的…...

Linux -- 操作系统

一、冯•诺依曼体系结构 1、概念 # 在计算机发展历程中&#xff0c;核心作用就是解决人类问题。为了实现这一目标&#xff0c;计算机系统需具备特定结构和功能。 首先&#xff0c;计算机要配备输入设备&#xff0c;如鼠标、键盘、摄像头、话筒、磁盘&#xff08;文件读取&…...

(初探)强化学习路径规划的理论基础与代码实现

一、强化学习路径规划的核心理论 1.1 马尔可夫决策过程&#xff08;MDP&#xff09;框架 理论基础&#xff1a; 路径规划问题可以建模为马尔可夫决策过程&#xff08;Markov Decision Process, MDP&#xff09;&#xff0c;由五元组(S, A, P, R, γ)定义。其中&#xff0c;S&…...

分布式链路ID实现

实现原理 api入口或者网关处生成traceId&#xff0c;调用服务时优先检查是否头部带有traceId&#xff0c;有则复用&#xff0c;没有则生成 实现方式 处理api相关traceId 1.通过filter复用或者生成traceId&#xff0c;并且将traceId输入到响应头中 import java.io.IOExcept…...

Java @Transactional事物隔离级别和默认值详解

在 Java 开发中&#xff0c;Transactional 注解是 Spring 框架中用于管理事务的重要工具。它提供了多种配置选项&#xff0c;其中事务隔离级别是一个关键属性。本文将深入探讨 Transactional 注解的隔离级别默认值&#xff0c;并通过具体代码示例帮助你更好地理解和应用事务隔离…...