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

分布式系统核心原理

CAP定理与权衡实践

CAP定理
  • 一致性(Consistency)

    • 强一致性:所有读写操作均基于最新数据(如银行转账)。
    • 最终一致性:数据副本经过一段时间后达到一致(如社交媒体的点赞数)。
    • 技术实现:两阶段提交(2PC)、Paxos/Raft共识算法。
  • 可用性(Availability)

    • 响应要求:系统必须在有限时间内返回结果(即使数据可能过时)。
    • 设计原则:无单点故障、快速失败(Fail Fast)、优雅降级。
  • 分区容错性(Partition Tolerance)

    • 必然性:分布式系统必须容忍网络分区(因网络不可靠是客观存在)。
    • 设计策略:冗余部署、多副本同步、自动故障转移。
CAP的权衡实践
  • CP系统(一致性+分区容错)

    • 特点:在分区发生时,优先保证一致性,牺牲可用性(拒绝部分请求)。
    • 典型系统:ZooKeeper选举Leader期间服务不可写,保证数据一致性;Etcd基于Raft协议,分区时少数派节点不可用。
    • 适用场景:金融交易系统(如支付结算),分布式锁服务(如避免重复扣款)。
  • AP系统(可用性+分区容错)

    • 特点:分区发生时,允许返回旧数据,优先保证服务可用性。
    • 典型系统:Eureka服务注册中心在分区时允许节点独立运行。
    • 适用场景:社交媒体(如点赞、评论功能);实时性要求不高的数据展示(如商品详情页缓存)。
  • CA系统(理论存在,实际不成立)

    • 矛盾点:分布式系统必须面对网络分区,无法完全放弃P。
    • 误解案例:单机数据库(如MySQL主从架构)看似CA,但本质非分布式系统。
CAP的实际工程权衡
  • 强一致性优先(CP) :如订单支付、库存扣减,使用分布式事务(如Seata的AT模式)或同步复制。

  • 高可用优先(AP) :如用户会话管理、新闻Feed流,使用最终一致性(如Redis跨机房异步复制)。

  • 混合策略——分而治之:不同子系统采用不同CAP策略。

    • 订单服务(CP) :强一致性保证支付原子性。
    • 商品服务(AP) :允许缓存短暂不一致,优先展示页面。
  • BASE(Basically Available, Soft state, Eventually consistent)

    • 基本可用:允许降级响应(如返回默认库存值)。
    • 软状态:中间状态允许不同步(如订单“处理中”状态)。
    • 最终一致:通过异步补偿达成一致(如Saga模式)。
网络分区的应对策略
  • 检测与响应

    • 心跳检测:通过ZooKeeper或Consul监控节点健康状态。
    • 多数派仲裁:只有多数节点存活时允许写入(如Paxos要求多数派同意)。
    • Fencing机制:旧Leader被隔离后禁止写操作(如ZooKeeper的ZXID校验)。
  • 恢复后的数据调和

    • Last Write Wins(LWW) :以最新时间戳为准(简单但可能丢数据)。
    • 向量时钟(Vector Clock) :通过逻辑时间戳合并冲突(如DynamoDB)。
    • 人工干预:记录冲突日志供运维介入(如金融对账系统)。

共识算法

Paxos算法
  • 角色

    • Proposer(提议者) :发起提案(如提议某个值)。
    • Acceptor(接受者) :接受或拒绝提案。
    • Learner(学习者) :学习最终达成一致的值。
  • 流程

    • Prepare阶段:Proposer发送提案编号(n)给Acceptors。
    • Promise阶段:Acceptor承诺不再接受编号小于n的提案,并返回已接受的最高编号提案。
    • Accept阶段:Proposer选择多数派Acceptors接受的最高值,发送Accept请求。
    • Learn阶段:一旦提案被多数派接受,Learner广播最终值。
Raft算法
  • 设计目标:简化Paxos的理解与实现,明确角色划分。
  • 角色

    • Leader(领导者) :唯一处理客户端请求的节点,负责日志复制。
    • Follower(跟随者) :被动接收Leader的日志条目。
    • Candidate(候选者) :在Leader失效时发起选举。
  • Leader选举

    • Follower在超时(Election Timeout)后成为Candidate,发起选举。
    • 获得多数派投票的Candidate成为新Leader。
  • 日志复制

    • Leader接收客户端请求,将日志条目广播给Followers。
    • 多数派确认后提交日志,应用到状态机。
  • 安全性保证

    • 选举限制:只有拥有最新日志的Candidate才能成为Leader。
    • 日志匹配:强制Followers的日志与Leader一致。
ZAB协议(ZooKeeper Atomic Broadcast)
  • 设计目标:为ZooKeeper设计的高吞吐量原子广播协议。
  • Leader选举(Fast Leader Election):节点通过交换epoch(时代编号)快速选出最新数据的Leader。
  • 原子广播:Leader为每个事务生成全局有序的ZXID(事务ID);Followers按顺序提交事务,确保所有节点状态一致。

分布式事务解决方案

两阶段提交(2PC,Two-Phase Commit)
  • 准备阶段(Prepare Phase)

    • 协调者(Coordinator) 向所有参与者(Participant) 发送事务请求,询问是否可以提交。
    • 参与者执行事务操作(但不提交),锁定资源,并返回“同意”(Yes)或“拒绝”(No)。
  • 提交阶段(Commit Phase)

    • 若所有参与者返回“Yes”,协调者发送提交命令,参与者提交事务并释放锁。
    • 若有任一参与者返回“No”,协调者发送回滚命令,参与者撤销操作。
三阶段提交(3PC,Three-Phase Commit)
  • CanCommit阶段:协调者询问参与者是否“可能提交”(不锁定资源)。
  • PreCommit阶段:若所有参与者同意,协调者发送预提交请求,参与者锁定资源并准备提交。
  • DoCommit阶段:协调者发送最终提交或回滚命令。
补偿事务(Saga模式)
  • 编排式(Choreography) :各服务通过事件(如消息队列)自主协调,无中心协调者。
  • 编排式缺点:逻辑分散,难维护;需处理事件丢失和重复消费。
  • 编排式工具:Kafka、RabbitMQ。
  • 编排式(Orchestration) :协调者服务集中管理事务流程,调用各服务接口(Cadence、AWS Step Functions)定义Saga步骤。
TCC(Try-Confirm-Cancel)
  • Try阶段:预留资源(如冻结库存、预扣款)。
  • Confirm阶段:确认操作,提交资源(如实际扣款、减少库存)。
  • Cancel阶段:回滚Try阶段的预留(如解冻库存、释放预扣款)。
  • 幂等性:每个阶段需支持重试(如通过唯一事务ID)。
  • 空回滚:Try未执行时收到Cancel,需忽略操作。
  • 悬挂控制:Confirm/Cancel可能先于Try到达,需记录状态。
基于消息队列的最终一致性
  • 本地事务 + 消息表:业务操作与消息写入本地数据库(原子性保证);后台任务轮询消息表,将消息投递到MQ。
  • 消息消费:下游服务消费消息并执行业务,成功后确认消息;失败时重试或进入死信队列人工处理。
  • 事务消息:发送半消息到MQ → 执行本地事务 → 提交/回滚消息;MQ定期检查未确认消息,回调生产者确认状态。

分布式ID生成方案

UUID
  • 原理:基于时间、MAC地址或随机数生成128位字符串(如550e8400-e29b-41d4-a716-446655440000
  • 无序性:作为数据库主键会导致B+树频繁分裂,降低写入性能。
  • 存储浪费:128位过长(占用36字符),可读性差。
  • 适用场景:日志追踪、临时标识等无需有序性的场景。
数据库自增ID
  • 原理:通过数据库自增字段(如MySQL AUTO_INCREMENT)生成唯一ID。
  • 分库分表:通过步长区分不同分片(如实例1生成1,3,5…,实例2生成2,4,6…)。
  • 批量预取:每次从数据库获取一批ID(如1000个)缓存在本地,减少数据库访问。
  • 适用场景:中小规模系统,非高并发场景。
Snowflake算法
  • 原理:64位ID = 时间戳(41位) + 机器ID(10位) + 序列号(12位)
  • 生成流程:同一毫秒内,通过序列号递增生成多个ID(最多4096个/ms);时间戳回拨时,通过等待或抛出异常处理。
  • 机器ID分配:需通过ZK/DB/配置中心保证机器ID唯一。
Redis生成ID
  • 原理:利用Redis的原子操作INCRINCRBY生成递增ID。
  • 集群分片:不同业务使用不同Key(如order:iduser:id)。
  • 批量预取:每次获取一段ID范围(如1~1000),减少Redis交互。
  • 适用场景:需要递增ID且已部署Redis集群的系统。
分布式ID方案对比
方案唯一性有序性性能依赖适用场景
UUID极高极高日志追踪、临时标识
数据库自增严格递增强(数据库)中小规模系统
Snowflake时间有序极高弱(时钟同步)高并发、需有序的大规模系统
Redis生成递增强(Redis)已有Redis集群的系统
号段模式严格递增弱(数据库)需连续ID的中大规模系统

相关文章:

分布式系统核心原理

CAP定理与权衡实践 CAP定理 一致性(Consistency) 强一致性:所有读写操作均基于最新数据(如银行转账)。 最终一致性:数据副本经过一段时间后达到一致(如社交媒体的点赞数)。 技术实现…...

【进程信号】五、信号集操作接口详解

文章目录 Ⅰ. 操作sigset_t变量接口Ⅱ. sigprocmask(阻塞信号集)Ⅲ. sigpending(未决信号集)Ⅳ. 接口使用代码⚜️sigaction(捕捉信号)Ⅴ. 测试sigaction的一些场景Ⅰ. 操作sigset_t变量接口 ​ 还记得我们上面讲过的 sigset_t 类型吗,sigset_t 类型对于每种信号用一个…...

Doris 本地部署集群重启后报错

报错描述 Docker 版本: apache/doris:fe-2.1.9 apache/doris:be-2.1.9 连接 MySQL 报错: ERROR 2003 (HY000): Cant connect to MySQL server on 127.0.0.1:9030 (111)FE 日志: INFO (UNKNOWN fe_e7cff187_69d4_42ee_90be_147e87310549(-1…...

bat脚本转换为EXE应用程序文件

很多时候,我们使用电脑时会编辑bat脚本文件 很多时候,我们制作的玩笑,病毒也会使用这个格式. 但这个格式也有很多缺点 1,如果是需要管理员运行的程序,需要费劲的自己使用管理员身份运行 2,文件并不为大家所熟知,认同度不高 3,可以非常轻松的看到原代…...

爬虫入门与requests库的使用——python爬虫

文章目录 浏览器抓包浏览器抓包介绍浏览器抓包页面介绍 python 爬虫爬虫是什么web网页渲染的方式http 协议http协议对资源的操作requests 库requests 是什么requests 的安装requests库的基础使用requests中不同的请求方式GET传递参数POST传递参数响应内容定制请求头Cookie获取服…...

[Java EE] Spring 配置 和 日志

目录 1. 配置文件 1.1 作用 1.2 Spring Boot 配置文件 1.3 读取配置文件 1.3.1 配置对象 1.3.2 配置集合 1.3.3 配置Map 1.4 yml 优缺点 2. 日志 2.1 日志的作用 2.2 日志的使用 2.3 日志框架 2.3.1 门面模式(外观模式) 2.4 SLF4J 框架介绍 2.5 日志格式的说明 …...

如何0基础学stm32?

如何0基础学stm32? 作为一个混迹嵌入式领域十余年的老兵,每次看到"0基础学STM32"这样的提问,我都忍不住想笑,又有些无奈。这就像问"如何0基础学开飞机"一样—虽然理论上可行,但过程恐怕没那么愉快…...

XCZU27DR‑2FFVE1156I Xilinx Zynq UltraScale+ RFSoC

一、概述 XCZU27DR‑2FFVE1156I 属于 Zynq UltraScale™ RFSoC Gen 2 系列,采用 TSMC 16 nm FinFET 工艺,Speed Grade ‑2,集成了 ARM 处理系统、可编程逻辑与高性能射频数据转换单元,为软件定义无线电、5G 前端、测试测量等场景…...

取值运算符*和地址运算符

在指针的学习中,必不可少的两个操作符:*和&。 在定义一个指针的时候,比如 short *p; 表示一个指向short数据类型的指针,具体表达的意思就是这个指针P指向的一个数据类型是short类型,也就是说操作的这…...

LNA设计

设计目的 为后级提供足够的增益以克服后级电路噪声 尽可能小的噪声和信号失真 确保输入和输出端的阻抗匹配 确保信号线性度 评价标准 噪声系数 功率增益 工作频率和带宽 输入信号功率动态范围 端口电压驻波比 稳定性 基于SP模型的LNA设计 直流分析 S参数分析 设计指标 &#xf…...

FPGA——DDS信号发生器设计

文章目录 任务要求一、DDS简介二、设计过程1、相位累加器的设计2、波形存储器设计3、锁相环倍频电路设计4、顶层电路设计 三、设计实现四、运行结果总结参考资料 任务要求 1)利用DDS技术合成正弦波和方波; 2)输出信号的频率范围为10Hz~5MHz,…...

【网络编程】TCP数据流套接字编程

目录 一. TCP API 二. TCP回显服务器-客户端 1. 服务器 2. 客户端 3. 服务端-客户端工作流程 4. 服务器优化 TCP数据流套接字编程是一种基于有连接协议的网络通信方式 一. TCP API 在TCP编程中,主要使用两个核心类ServerSocket 和 Socket ServerSocket Ser…...

数据可视化(Matplotlib和pyecharts)

一 常见图形概念及使用 图表类型适用场景核心特点柱状图(bar)比较不同类别数据(如各地区销售额对比)、时间序列分析(离散时间)高度反映数值大小,支持横向/纵向展示,可叠加分组折线图(plot)连续数据趋势比较(适合展示随时间的变化,如股票价格走势、用户增长趋势)、多变…...

如何系统地入门学习stm32?

如何系统地入门学习stm32? 作为一个在嵌入式领域摸爬滚打十余年的工程师,看到这个问题,我不禁想起自己当年啃着厚重的数据手册,对着一块蓝色的PCB板冥思苦想的日子。STM32的学习之路,说难不算特别难,说简单…...

matlab读取CMEMS海洋温度数据并调整图片的比例

matlab读取CMEMS海洋温度数据并调整图片的比例 matlab读取CMEMS海洋温度数据并调整图片的比例 matlab读取CMEMS海洋温度数据并调整图片的比例 数据的下载见上期: 链接到CMEMS数据下载{python} 本文还会给出另一个关键技巧: 通常设置图片比列直接可以通过…...

ReSearch:基于强化学习的大语言模型推理搜索框架

ReSearch是一种创新性框架,通过强化学习技术训练大语言模型执行"推理搜索",无需依赖推理步骤的监督数据。该方法将搜索操作视为推理链的有机组成部分,其中搜索的时机与方式由基于文本的推理过程决定,而搜索结果进一步引…...

【记录】服务器安装ffmpeg

前言 因为项目中需要用到 ffmpeg 进行图像的一些操作,本文记录下在服务器安装 ffmpeg 的全过程,还是具有一定挑战性的。 系统详情 本文使用的操作系统详情如下 通过 命令 cat /etc/os-release 获取 虽然操作系统为 Rocky Linux,但安装过程是通用的,因为本文记录的是从源代码…...

部署rocketmq集群

容器化部署RocketMQ5.3.1集群 背景: 生产环境单机的MQ不具有高可用,所以我们应该部署成集群模式,这里给大家部署一个双主双从异步复制的Broker集群 一、安装docker yum install -y docker systemctl enable docker --now # 单机部署参考: https://www.cnblogs.com/hsyw/p/1…...

中国AIOps行业分析

基本术语 AIOps是"Artificial Intelligence for IT Operations"(IT运维人工智能)的缩写,它指的是将人工智能技术应用于IT运维领域,基于已有的运维数据(如日志、监控信息、应用信息等),通过机器学习的方式解决自动化运维无法解决的问题6。AIOps将机器学习(ML)…...

C++入门[超详细]

#include <iostream c的标准输入输出流 C的域 using namespace std; namespace本质是一个域 只有域里面的定义代码才能使用 std包含了c输入输出的标准库 缺省 只能从左到右缺省,不能中间空格 void f1(int a10,int b20,int c0) { } f1(); f1(1); f1(1,2); f1(1,2,3); f1(…...

字符串系列一>二进制求和

目录 题目&#xff1a;解析&#xff1a;代码&#xff1a; 题目&#xff1a; 链接: link 解析&#xff1a; 代码&#xff1a; class Solution {public String addBinary(String a, String b) {StringBuffer ret new StringBuffer();int t 0;char[] aa a.toCharArray();char[…...

序列化和反序列化

概念 创建出来的这些对象都存在于JVM中的堆&#xff08;heap&#xff09;内存中&#xff0c;只有JVM处于运行状态的时候&#xff0c;这些对象才可能存在。当JVM停止&#xff0c;这些对象也就随之消失。 java序列化可以帮我们实现&#xff1a;将这些对象持久化&#xff0c;并且…...

rebase和merge的区别

目录 1. ‌合并机制与提交历史‌ 2. ‌冲突处理方式‌ 3. ‌历史追溯与团队协作‌ 4. ‌推荐实践‌ 5. ‌撤销难度‌ git rebase和git merge是Git中两种不同的分支合并策略&#xff0c;核心区别在于提交历史的处理方式&#xff1a;merge保留原始分支结构并生成合并提交&am…...

linux查看目录相关命令

查看目录命令 学习目标 能够使用Linux命令查看目录信息 1. 查看目录命令的使用 命令说明ls查看当前目录信息tree以树状方式显示目录信息 ls命令效果图: tree命令效果图: 2. 查看当前目录路径 命令说明pwd查看当前目录路径 pwd命令效果图: 3. 清除终端内容 命令说明clear…...

203. 移除链表元素

给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 输出&#xff1a;[1,2,3,4,5]示例 2&#xff1a; 输入&#xff1a…...

Cursor新版0.49.x发布

小子看到 Cursor 0.49.x 版本正式发布&#xff0c;截止今天已经有两个小patch版本&#xff01;本次更新聚焦于 自动化Rules生成、改进的 Agent Terminal 以及 MCP 图像支持&#xff0c;并带来了一系列旨在提升编码效率和协作能力的改进与修复。 以下是本次更新的详细内容&…...

music21:伍佰 泪桥 MIDI 音乐分析

以下是使用 music21 对伍佰《泪桥》MIDI 音乐进行分析的一些可能方面&#xff1a; 基本信息3 曲长&#xff1a;全曲长 2 分 31 秒。音符数量&#xff1a;共 273 个音符。音轨信息&#xff1a;共 2 个音轨&#xff0c;其中 1 个音轨有音符&#xff0c;可视为单轨 MIDI 文件&am…...

Mybatis源码01-SpringBoot启动时mybatis加载过程

使用了mybatis这么久还没有具体探究了SpringBoot启动时候对于mybatis是怎么加载的。 1、首先项目构建时我们会引入相关的依赖&#xff1a; <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</arti…...

springCloud/Alibaba常用中间件全集(上)

文章目录 SpringCloud:一、Consul:服务注册与发现1、下载Consul2、运行Consul3、服务注册①. 导入依赖②. 配置yml③. 启动类添加Consul的启动服务发现注解④. 解决 **硬编码** 问题⑤. 此时便可以将IP地址改为服务名 4、服务配置与刷新①. 引入Consul-Config依赖②. 修改boots…...

嵌入式单片机通过ESP8266连接物联网实验

第一:通过手机APP远程监控和控制 ESP8266驱动RST低电平触发复位,平时需要跟EN一样分别接10k拉高到3.3V 如果是12E/F的话管脚比较多,GPIO15也要接个1K到地 烧录时GPIO要接地,正常工作时将其拉高或者悬空 主要使用串口通信,烧录固件也是通过串口,烧录时,启动烧录程序后…...

Visio导出清晰图片步骤

在Visio里画完图之后如何导出清晰的图片&#xff1f;&#x1f447; ①左上角单击【文件】 ②导出—更改文件类型—PNG/JPG ③分辨率选择【打印机】&#xff0c;大小选择【源】&#xff0c;即可。 ④选择保存位置并命名 也可以根据自己需要选择是否需要【透明底】哈。 选PNG 然…...

速查手册:TA-Lib 超过150种量化技术指标计算全解 - 1. Overlap Studies(重叠指标)

速查手册&#xff1a;TA-Lib 超过150种量化技术指标计算全解 - 1. Overlap Studies&#xff08;重叠指标&#xff09; TA-Lib&#xff08;Technical Analysis Library&#xff09;是广泛使用的金融技术分析库&#xff0c;实现了超过150种技术指标计算函数&#xff0c;适用于股票…...

大模型Rag - 如何评估Rag

一.RAG流程与评估标准补充 RAG&#xff08;Retrieval-Augmented Generation&#xff09;是一种结合检索与生成的问答架构。为了确保系统效果&#xff0c;需要从以下三个角度对其评估&#xff1a; 回顾RAG流程 用户提出问题 → 系统检索相关上下文 → 基于上下文由大语言模型…...

复习JUC的总结笔记

JUC基础 调用Thread的start方法会调用start0&#xff0c;start0会调用该Thread类的run方法。Thread类如果传入了Runnable&#xff0c;run方法里会调用Runnable的run方法&#xff0c;如果没有传入&#xff0c;则什么也不会做。也可以通过重写Thread的run方法&#xff0c;让start…...

基于MTF的1D-2D-CNN-GRU-Attention时序图像多模态融合的故障识别,适合研究学习(Matlab完整源码和数据),附模型研究报告

基于MTF的1D-2D-CNN-GRU-Attention时序图像多模态融合的故障识别&#xff0c;适合研究学习&#xff08;Matlab完整源码和数据&#xff09;&#xff0c;附模型研究报告 目录 基于MTF的1D-2D-CNN-GRU-Attention时序图像多模态融合的故障识别&#xff0c;适合研究学习&#xff08;…...

5G 毫米波滤波器的最优选择是什么?

新的选择有很多&#xff0c;但到目前为止还没有明确的赢家。 蜂窝电话技术利用大量的带带&#xff0c;为移动用途提供不断增加的带宽。 其中的每一个频带都需要透过滤波器将信号与其他频带分开&#xff0c;但目前用于手机的滤波器技术可能无法扩展到5G所规划的全部毫米波&#…...

构造函数和析构函数

概念&#xff1a;对象的初始化和清理是非常重要的&#xff0c;一个对象在使用之前&#xff0c;需要进行初始化&#xff0c;使用完成后也需要及时清理数据&#xff0c;简单来说构造函数时用来初始化成员属性的&#xff0c;析构函数时用来清理数据的。 C中利用构造函数和析构函数…...

卷积神经网络(CNN)详解

文章目录 引言1.卷积神经网络&#xff08;CNN&#xff09;的诞生背景2.卷积神经网络&#xff08;CNN&#xff09;介绍2.1 什么是卷积神经网络&#xff1f;2.2 卷积神经网络&#xff08;CNN&#xff09;的基本特征2.2.1 局部感知&#xff08;Local Connectivity&#xff09;2.2.…...

NoSQl注入学习

文章目录 什么是NOSQL相关概念数据库文档集合 MongoDB 基础语法创建数据库创建集合插入文档更新文档查询文档 Nosql注入PHP 中的 MongoDB 注入重言式注入联合查询注入JavaScript 注入布尔盲注 Nodejs 中的 MongoDB 注入 从一道题中学习nosql注入 参考&#xff1a; Nosql 注入从…...

借助LlamaIndex实现简单Agent

借助LlamaIndex实现简单Agent 1 简介 智能体的构建发展是一个趋势&#xff0c;借助LlamaIndex简单实现Agent。本文主要借助LlamaIndex中的FunctionTool和Workflow。Workflow是使用事件流的方法实现。 2 构建公共类 由于LlamaIndex中的OpenAI无法直接连接国内大模型&#xf…...

MCGS昆仑通太屏笔记

4.3寸&#xff1a;4013ef/e1 7寸&#xff1a;7032kw 特点&#xff1a; 如果是使用组态屏进行调试使用&#xff0c;选择com1如果是实际项目使用&#xff0c;选择com2 操作步骤&#xff1a; 先创建设备窗口&#xff0c;再创建用户界面 在设备窗口界面&#xff0c;依次设置如下…...

纯FPGA控制AD9361的思路和实现之一 概述

我们知道PS通过内存映射方式方式用户的IP&#xff0c;具体是将用户的逻辑做成AXI_LITE_SALVE外设&#xff0c;PS做为AXI_LITE_MASTER去控制。 在ZYNQ系统中存在PS所以这个架构和思路很流行&#xff0c;ADI出的配置软件无线电子板的DEMO基本都是基于这样的架构。比如下图【上截…...

北斗短报文终端与5G融合:构建空天地海一体化通信新生态

随着北斗三号全球组网完成&#xff0c;短报文通信服务从区域覆盖迈向全球通达&#xff0c;其与5G技术的深度融合&#xff0c;正开创“空天地海一体化”通信新时代。深圳作为全国北斗产业高地&#xff0c;汇聚了遨游通讯等领军企业&#xff0c;其推出的北斗短报文终端通过技术创…...

Meteonorm8-免费使用教程(详细教程-免费)

Meteonorm介绍 Meteonorm 8 是一款专业的气象数据生成软件&#xff0c;广泛应用于太阳能、建筑能效、农业气候研究等领域。它提供全球范围内高精度的气象数据&#xff0c;支持多种数据源和插值方法&#xff0c;帮助用户获取特定地点的长期气象统计信息。 Meteonorm核心功能 …...

nohup的使用

最近远程连接服务器跑程序的时候&#xff0c;总是碰到本地电脑息屏或者ssh断开导致程序中断&#xff0c;往往一觉醒来不是程序跑完了而是因为各种原因本地中断了。为此想到了nohup这个命令&#xff0c;可以让程序在我本地电脑关机后也可以在远端服务器上面运行。 命令如下&…...

如何查看HTTP状态码?

目录 一、HTTP状态码查看方法 1. ​​浏览器开发者工具​​ 2. ​​命令行工具​​ 3. ​​服务器日志分析​​ 二、HTTP状态码分类与核心含义 1. ​​信息类&#xff08;1xx&#xff09;​​ 2. ​​成功类&#xff08;2xx&#xff09;​​ 3. ​​重定向类&#xff08…...

2025.04.19【Chord diagram】| 弦图绘制技巧大全

Customization Apply customization to the circular chart: color, background, track height and more. Chart types Learn how to use other chart types like line chart, barcharts, vertical ablines and more. 文章目录 CustomizationChart types 什么是弦图&#xff…...

解码 Web Service:从技术原理到应用场景的深度剖析

Web Service 是一种基于网络的、分布式的计算技术&#xff0c;它允许不同的应用程序之间通过网络进行通信和交互。以下是关于 Web Service 的详细介绍&#xff1a; 一、定义与概念 Web Service 是一种可以通过 Web 协议&#xff08;如 HTTP&#xff09;进行访问的软件组件&am…...

hackmyvm-airbind

收集信息 arp-scan -l nmap -sS -v 192.168.195.162 访问扫描到的ip&#xff0c;直接跳转到登录页面&#xff0c;利用admin/admin弱口令登录 在settings.php中找到一处文件上传&#xff0c;上传一句话木马&#xff0c;上传成功 反弹shell 上传php-reverse-shell.php 抓包&am…...

[HCIP] OSPF 综合实验

题目 实验需求 1.R5为TSP&#xff0c;其上只能配置IP地址&#xff1b; R5与其他所有直连设备间均使用公有IP&#xff1b;环回地址为100.1.1.1/32 2.R4设备为企业出口路由器 3.整个OSPF环境IP基于172.16.0.0/16划分&#xff1b; 4.所有设备均可访问R5的环回&#xff1b; 5…...