见微知著:从企业售后技术支持看云计算发展
作者:余凯
售后业务中的细微变化
作为阿里云企业容器技术支持的一员,每天会面对全球各地企业级客户提出的关于容器的各种问题,通过这几年的技术支持的经历,逐步发现容器问题客户的一些惯性,哪些是重度用户,哪些是轻度客户,这些客户大概分布在什么行业等等。
在渐渐地接触过程中,发现有些重度容器使用客户,所提出的问题场景也在逐步变化中,由于涉及法律法规,下面数据无法完整提供,只是提供相关简要说明。
纵向维度
从去年底开始,关于边缘集群的工单数量逐渐开始上升,增长幅度较大。其中涉及问题的边缘集群,超过一半左右来的客户集群规模比较大,集群节点规模数量级在几百个节点,甚至几千个节点规模。
横向维度
客户一:
该用户是目前是国内 ToC 端个性化推荐服务提供商之一,该客户在今年才开始使用 容器服务 Edge 版 ACK Edge 产品,到目前为止边缘集群的节点数已经快速破百。
客户二:
该用户是目前是国内电动汽车行业先驱者,并且一直处于新能源热门话题榜中,该客户第一次使用容器服务 Edge 版 ACK Edge 产品,到目前为止,边缘集群的节点数已经破千,占该客户所有容器集群节点数的近一半。
客户三:
该用户是全球著名无人 IoT 设备提供商之一。于去年开始使用容器服务 Edge 版 ACK Edge 产品后,快速增加 ACK Edge 比重,目前边缘集群已经承担了该客户容器的大部分业务形态,同时该客户提问的容器工单,一大半是关于边缘集群的。
客户四:
该用户是私域电商领域的领头羊企业,于今年开始使用容器服务 Edge 版 ACK Edge产品,并快速的进行集群规模的扩张,到目前为止,边缘集群的节点数规模已经过千。这些客户在边缘集群上的使用,和我这几个月服务企业客户的体感是一致的,那就是边缘计算似乎越来越成为客户业务云原生化的一个方向,并且该比重会越来越高。这些短平快使用边缘集群的客户貌似并没统一的客户行业属性和画像,既有互联网电商,也有制造业,新能源骑车等交通行业线等等,并不像公有云具有强烈的行业属性,比如互联网,教培客户偏向于公有云,ToG,大交通客户偏向于专有云等等,似乎边缘计算出现就是为了终端复杂业务场景而生的。
这里其实又引申了几个问题:
-
什么是边缘计算。
-
到底是先有边缘计算产品提供给了客户使用,扩大了规模;还是因为客户有大量需求,所以形成了边缘计算的产品开发需求。
关于第 1 点,这个问题太庞大了,这里卖个关子,以后有时间慢慢说明。关于第二点,我个人认为这不是个鸡和蛋的问题,我理解是未来的云计算将充分地释放云计算的潜力,将会有更多的业务应用生于云,长于云;面对客户愈加复杂的个性化需求,需要利用好云原生的优势,从中心到边缘;云原生的理念也愈加完善和清晰,从 Kubernetes 到服务网格再到 Serverless,云和业务是相辅相成,互相成就的,套用一句话:业驱云长,云随业动。
从市场看边缘云计算
全球市场
根据 polarismarketresearch 的边缘计算市场分析,2021 年全球的边缘计算市场规模在 741 亿美元,预计到 2030 年,整个市场规模持续增长到 1.4 万亿美元,年复合增长率接近 38.8%,其中增长最快的是亚太市场,可以看到边缘计算在未来十年还是处于高速发展期。
大量的设备连接到互联网上,这在传统的数据中心基础设施中产生了大量的数据。新兴技术和计算设备在许多行业的快速采用预计会产生大量的分散数据。大量的数据生成降低了处理时的延迟和低效性;边缘计算将这种数据处理重新定位到数据源,而不是依赖数据中心来处理和分析数据。这有助于组织效率优化。
由于中国、印度、日本和韩国等国家的快速数字化、技术创新和连接设备的扩展,亚太地区预计将在预测期内实现更快的增长。此外,主要电信公司的存在和部署边缘计算的 IT 投资的增加支持了区域增长。
政府为数字化提供的资金不断增加,以及许多企业对存储和处理数据的需求不断增加,都有助于市场的增长。此外,跨智慧城市的新兴物联网应用产生了大量数据,与云计算相比,以相对较低的成本处理和分析数据以产生信息并增强数据源附近的实时决策的需求日益增长,推动了细分市场的增长。
国内市场
依据艾瑞咨询分析数据,2020 年中国企业中仅有不足 5% 使用了边缘计算,但计划使用的比例高达 44.2%。可以见得,虽然边缘云计算尚处在发展的萌芽期,但未来成长空间非常广阔。根据艾瑞咨询测算,预计到 2025 年整体边缘云规模将以 44.0% 的年复合增长率增长至 550 亿元,其中区域边缘云将凭借互动直播、vCDN、车联网等率先成熟的场景实现增速领跑。2030 年,中国边缘云计算市场规模预计达到接近 2500 亿元,2025 年至 2030 年的年复合增长率相比前五年有所下降,现场边缘云中工业互联网、智慧园区、智慧物流等场景将在这一期间快速走向成熟。
注:该图片信息来自艾瑞咨询
什么是边缘云计算
算力的莫比乌斯环
自通用计算机诞生至今,算力和处理的分布表现出了在集中式架构和分布式架构之间交替循环的特征,每个周期大概是二十年左右的时间。
主机模式: 通用计算机诞生伊始,采用基于大型计算机的集中式计算模式,通过分时技术服务于多终端。
C/S模式: 随着半导体技术的发展和集成电路平民化的演进,个人计算机体积越来越小、而性能得到了显著提升。PC 的范围普及使终端用户通过局域网与服务器相连;
云计算模式: 基于虚拟化、分布式计算等技术,云计算实现随时随地、按需从资源共享池中获取所需资源,算力回归到集中式架构;
边缘云计算: 随着 5G 的普及,物联网,终端量和数据量快速增长,集中式云计算表现出瓶颈,算力开始向边缘侧迁移。
技术的快速进步推动云计算性能提升和成本降低,新的模式打破既有的成本与效益平衡,进而进入新一轮的算力分布周期。
概念和业务形态
边缘云计算构筑在位于中心云与终端之间的边缘基础设施上的新型分布式计算,是云计算能力由中心向边缘的下沉,强调通过云边一体、协同管理实现中心云计算模式下所无法满足的业务需求,是一种更加靠近数据产生源的云计算。
“边缘”是一个非绝对的相对概念,边缘业务对网络时延、带宽、数据量级、经济性等多方面的不同需求都会影响边缘云部署的最佳位置。自动驾驶、云游戏等共享型业务,可部署在区域级别 or 省市级别的区域边缘云上,而面向工厂、港口、园区等的专享型边缘云业务既可以部署在贴近客户现场的边缘数据中上,也可以通过边缘网关等更轻量级的设备来实现。从技术路线上看,区域边缘云和现场边缘云同是基于边缘数据中心,是通过 ICT 基础设施的下沉实现边缘云的能力,而 IoT 边缘云是对于以工业场景为代表的各类现场设备进行云化的升级改造。
定位和核心价值
边缘云计算出现是为了补充集中式云计算能力的不足,因此边缘云计算的出现不是为了替代集中式云计算,当我们广义上去讨论的时候,其实应放在云-边-端的整体框架之下,将边缘云视作中心云在靠近终端用户的下沉。其实边缘云计算就类比章鱼,章鱼的大脑仅有 40% 的神经元,其余的 60% 神经元分布在章鱼个各个大腿之上,形成了“1 个大脑+N 个小脑”神经计算结构。这个和中心云+边缘云+终端用户架构极为相似,各种各样的终端用户采集到海量数据后,将需要进行实时处理的小规模、局部数据就近在边缘云上完成处理和反馈;而复杂、大规模的全局性的数据处理,则交给中心云进行处理和发布,中心云与边缘云统一管控、智能调度,形成算力的合理分配和业务逻辑的实现。
边缘云计算相比中心云计算更加贴近数据产生和使用的终端用户,这些终端用户对网络时延和传输成本方面具有非常大的敏感性,而边缘云计算是云计算能力向边缘的下沉,同时也契合了低延迟和低成本的诉求。但是边缘侧的物理物理设备和运行环境不像中心云有统一的标准,硬件的性能参差不齐,因此边缘云需要与中心云进行协同处理,结合中心云的大规模计算能力和边缘云的低延迟,成本低的特点,既要实现在集中式云计算模式下无法实现的超低延时的信息交互,又要实现一部分的数据自闭环处理和反馈。
超低延迟
现阶段应用边缘云最主要的动力即为时延,尤其是需要实时交互、实时反馈的场景,比如智能终端设备,车辆网,自动驾驶等等。传统云计算模式下,从终端用户到中心云因物理距离的强力限制,网络延迟难以进一步降低,同时智能终端设备数量级的增长,必然对海量数据处理带来了要求。
传输成本
中心云计算下终端用户产生的数据都需要回传到云端进行处理,远距离的数据传输消耗的成本比较高,且大多数传回云端的数据,多是无用信息,在终端量级爆发增长下,对中心云的计算能力产生了大量损耗。
网络安全
有些行业因国家政策、行业特性、数据隐私保护等要求,对数据安全要求极高,敏感数据无法传回云端,但是这些行业也有业务云化的需求。
典型应用场景
超低时延需求、海量数据处理、边缘智能调度、数据安全规范是促使企业选择边缘云计算的几个主要因素,目前超低延迟特性和海量数据处理是边缘云计算相比中心云计算的最大优势。如右图所示,在工业互联网、 车联网、智慧交通、云游戏和 VR/AR 等场景中,数据的传输和计算能力的需求是巨大的,边缘云计算恰好能满足这些高要求。
注:该图片信息来自艾瑞咨询
Kubernetes:从中心化走向边缘化
经过前面的铺垫,我们可以对未来云计算有大概的一个初步判断。那么作为云原生基石的 Kubernetes 在边缘计算场景下又是该如发展呢?是类似于 IOE 这种随着时代潮流逐渐淘汰,还是类似 Vmware 在自己的私域里不受影响,还是像现在 AI 大模型成为未来主流呢。这里先说下个人观点,Kubernetes 插件体系和 list-watch 机制,让它天生就适合边缘云计算。
Kubernetes 是以应用为中心而设计的架构方案,以 Kubernetes 为编排工具,向下屏蔽底层基础设施和架构,实现不同底层资源架构的统一调度和管理;向上通过标准的容器镜像手段,实现承载多种业务形态和应用的自动化部署和快速恢复;横向拓展实现了突破中心云计算的边界,让底层算力的调用突破地域、云厂商和物理设备的限制,形成了云-边-端一体化的协同部署方案。
Kubernetes 在边缘云计算下的挑战
Kubernetes 是一个分布式架构的云原生系统,实现了管控-业务的分离,master 节点负责管理 worker 节点,调度 Pod 以及控制集群运行状态。worker 节点,负责运行容器,架空容器状态并及时上报。在边缘云计算场景下,主要面临以下挑战:
-
Kubernetes 是一个强一致性的中心存储架构,相关 Kubernetes 资源的状态都会记录到管控侧并对这些资源进行统一调度和管理,那么在边缘多场景下,边缘和中心之间的网络状态是不稳定的,那么这种强一致性的逻辑就会遇到挑战;
-
Worker 节点通过 List-Watch 机制与 Matser 节点通信,实现该节点的上 Kubernetes 资源的同步,但是当出现边缘和中心的网络瓶颈时候,Worker 节点是无自治能力,无法进行自我决策。
-
Kubelet 所需要执行的策略比较多,比如容器 CRI,CSI, CNI 等网络,存储,计算等资源,在大规模节点,有时候 kubelet 占用的资源接近 1GB,这对边缘低配置硬件版本设施是个挑战。
Kubernetes 社区的主版本并没有主流开源边缘版本,而且边缘云计算涉及场景更加复杂,目前 CNCF 社区的边缘云计算开源项目主要针对就是上面三点挑战,利用 Kubernetes 多插件支持能力,将管控中心任务分布是部署,实现 Kubernetes Master 节点统一管控,智能调度;各个边缘集群节点有独立管控实现各自边缘的自治和业务同步,从而实现了云端管控、边缘自治的云-边-端一体化协同。
阿里云容器在新时代的产品策略点
OpenYurt:无侵入式方案
边缘自治能力
OpenYurt 引入了一个每节点代理(YurtHub)和本地存储来缓存云 apiserver 状态,因此如果节点断开连接,缓存数据可以被 Kubelet、KubeProxy 或用户 Pod 使用。
跨 NodePool 网络通信能力
OpenYurt 使用 Raven 提供跨 NodePool 网络通信能力。每个节点安装一个节点守护进程,同时每个节点池中只选择一个守护进程作为 Gateway,在节点池之间建立 VPN 隧道,节点池中的其他守护进程配置跨节点池网络路由规则以确保流量通过 Gateway 节点。
多 NodePool 管理
为了更好地支持云边协同架构,OpenYurt 首创了管理 Pool 的理念,Pool 封装了对节点资源、应用程序和工作负载流量的管理。
高级的工作负载升级模型
OpenYurt 增强了 DaemonSet 升级模型,增加了 OTA(On-The-Air) 和 Auto Upgrade 模型。比如汽车的 OTA 升级场景等。
可编程资源访问控制
YurtHub 组件内置了可编程的数据过滤框架,来自云端的返回数据会经过一个过滤器链,从而对返回数据进行非感知和按需转换,以满足云边协同场景下的特定需求。
云边网络带宽减少
OpenYurt 建议引入 Pool Scope Data 的概念,其他 YurtHub 将从 pool-coordinator 中获取 Pool Scope Data,从而消除每个节点使用公共网络带宽从云 kube-apiserver 获取此类数据。
云原生边缘设备管理
OpenYurt 从云原生视角对边缘终端设备的基本特征(是什么)、主要能力(能做什么)、产生的数据(能够传递什么信息)进行了抽象与定义。最终通过云原生声明式API,向开发者提供设备数据采集处理与管理控制的能力。
地址: https://openyurt.io
而相对的 OpenYurt 商业化产品是容器服务 Edge 版 ACK Edge,支持对边缘计算场景的容器应用和资源全生命周期管理。
- 通过控制台一键创建高可用的边缘 Kubernetes 集群,并提供丰富的管理运维能力。
- 支持丰富的异构边缘节点资源,包括自建 IDC 资源、ENS、IoT 设备、X86、ARM 架构等;并支持异构资源的混合调度。
- 面向边缘计算弱网络连接场景,提供节点自治和网络自治能力,保证边缘节点和边缘业务的高可靠运行。
- 提供反向运维网络通道能力。
- 提供边缘单元管理、单元化部署、单元流量管理能力。
https://help.aliyun.com/zh/ack/ack-edge/product-overview/ack-edge-overview
小 结
Kubernetes 是一个庞大且复杂的架构,仅仅目前主流的组件就有近百,而将整个 Kubernetes 下沉至边缘场景,面临的业务挑战和架构挑战是巨大的。不同的场景和需求侧重点有不同的方案,这也是为什么目前 Kubernetes 边缘场景下的方案比较碎片化,并无主流的,占绝对优势的边缘化云计算方案。
打破中心云计算的边界,将 Kubernetes 从中心化拓展至边缘化,构建云-边-端一体的基础云设施架构是目前边缘云计算项目的发方向,都是为了更好的服务边缘化业务场景。业务上实现应用的中心化管控和边缘侧运行的云-边-端协同;运维上边缘业务的自动化运维、高可靠性快恢,降低边缘场景下的运维成本。故边缘云计算的场景就是云和业务是相辅相成,互相成就,业驱云长,云随业动。
参考:
边缘计算社区:2022 十大边缘计算开源项目
运营商边缘计算网络技术白皮书(2019)
《中国边缘云计算行业展望报告》
《中国云计算发展白皮书》
OpenYurt:边缘元数据过滤框架深度解析
【OpenYurt 深度解析】优雅实现带缓存能力的反向代理
深度解读 OpenYurt:从边缘自治看 YurtHub 的扩展能力
Edge Computing Market Share, Size, Trends, Industry Analysis Report,2022 - 2030
Market Guide for Edge Computing
Edge Computing Market- Market Size, Share, Growth, Trends and Forecast 2023 to 2032
相关文章:

见微知著:从企业售后技术支持看云计算发展
作者:余凯 售后业务中的细微变化 作为阿里云企业容器技术支持的一员,每天会面对全球各地企业级客户提出的关于容器的各种问题,通过这几年的技术支持的经历,逐步发现容器问题客户的一些惯性,哪些是重度用户࿰…...

C++笔记之如何给 `const char*` 类型变量赋值
C笔记之如何给 const char* 类型变量赋值 code review! 文章目录 C笔记之如何给 const char* 类型变量赋值1.在C中,如果你要给一个 const char* 变量赋值,你通常有几种方法来做这件事,具体取决于你的需求。下面是一些常见的方法:…...

9.Linear Maps
线性映射 线性映射是将向量作为输入并产生一些新向量作为输出的转换。 从坐标定义开始(数组),再到2,3,并展示它们是如何关联的 线性映射的坐标表示最终是矩阵, 1.坐标定义(数组) 列向量是向量的坐标表示…...

大数据Doris(十):添加BE步骤
文章目录 添加BE步骤 一、使用mysql连接 二、添加be...

Vue2 +Element UI 表格行合并
如果相邻数据是一致的,则单元格的行合并,指定需要合并的列,下面我是指定合并了分类和类型这两列。 先看效果 Element UI为我们的<el-table>提供了一个属性span-method:合并行或列的计算方法 下面是一个示例: html部分 - 主要是在表上指…...
SuperEdge易学易用系列-一键搭建SuperEdge集群
条件说明: 系统 公网IP 内网IP 服务器所在地 K8S版本 Centos7.9 114.116.101.254 192.168.0.245 北京 v1.22.6 Centos7.9 119.8.1.96 192.168.0.83 香港 v1.22.6 Ubuntu22 94.74.108.152 192.168.0.154 纽约 v1.22.6 1. 开始部署 1.1 两条指令从零搭建一个边缘集…...

农场养殖农产品商城小程序搭建
鸡鸭羊牛鱼养殖用户不少,其规模也有大有小,尤其对一些生态养殖企业,其产品需求度更高,同时他们也有实际的销售需求。 由于具备较为稳定的货源,因此大规模多规格销售属性很足。 通过【雨科】平台搭建农场养殖商城&…...

大语言模型之十七-QA-LoRA
由于基座模型通常需要海量的数据和算力内存,这一巨大的成本往往只有巨头公司会投入,所以一些优秀的大语言模型要么是大公司开源的,要么是背后有大公司身影公司开源的,如何从优秀的开源基座模型针对特定场景fine-tune模型具有广大的…...

UML组件图综合指南:设计清晰、可维护的软件系统
介绍: UML(Unified Modeling Language)组件图是软件系统设计中的重要工具,用于描绘系统的物理结构和组件之间的关系。在软件工程中,通过创建清晰的组件图,团队能够更好地理解系统的模块化结构和组织关系&a…...

深入浅出ThreadPoolExecutor(一)
文章目录 线程池简诉ThreadPoolExecutor详解ThreadPoolExecutor参数详解创建线程池的工具类Executors 线程池简诉 针对各种池子,比如 连接池:用于管理和重复使用数据库连接,避免频繁创建和销毁数据库连接带来的性能开销。对象池:用于管理和重复使用对象…...

网站的常见攻击与防护方法
在互联网时代,几乎每个网站都存在着潜在的安全威胁。这些威胁可能来自人为失误,也可能源自网络犯罪团伙所发起的复杂攻击。无论攻击的本质如何,网络攻击者的主要动机通常是谋求经济利益。这意味着无论您经营的是电子商务项目还是小型商业网站…...

网络工程师知识点3
41、各个路由协议,在华为设备中的优先级? 直连路由 0 OSPF 10 静态 60 42、OSPF:开放式最短路径优先路由协议,使用SPF算法发现和计算路由 OSPF的优点: 1、收敛速度快,无路由自环,适用于大型网络…...

mongoDB 性能优化
文章目录 前言mongoDB 性能优化1. explain方法来查看查询的执行计划2. 查看mongoDB 集合的索引3. mongoDB 怎么添加索引4. 升序索引与降序索引是什么意思 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易…...
10月13日,每日信息差
今天是2023年10月13日,以下是为您准备的13条信息差 第一、欧盟投资4.5亿欧元在法国建设电池超级工厂。欧洲投资银行是欧盟的贷款机构,也是世界上最大的跨国银行之一 第二、北京银行推出数字人民币智能合约平台 数字人民币预付资金管理产品在商超场景…...

Spring Boot 中的 Redis 数据操作配置和使用
Spring Boot 中的 Redis 数据操作配置和使用 Redis(Remote Dictionary Server)是一种高性能的开源内存数据库,用于缓存、消息队列、会话管理和数据存储。在Spring Boot应用程序中,Redis被广泛用于各种用例,包括缓存、…...
rust宏
宏看起来和函数很像,只不过名称末尾有一个感叹号 ! 。 宏并不产生函数调用,而是展开成源码,并和程序的其余部分一起被编译。 Rust宏和C不同,Rust的宏会展开为抽象语法树(AST,abstract syntax treeÿ…...

性能测试之性能测试指标详解
前言 刚开始,以为做性能测试,就是做些脚本、参数化、关联,压起来之后,再扔出一个结果。 但实际上不止这些内容,还要加上性能分析,关注调优之后响应时间有多大的提升,TPS 有多大的提高…...

CustomNavBar 自定义导航栏视图
1. 创建偏好设置键 CustomNavBarTitlePreferenceKey.swift import Foundation import SwiftUI//State private var showBackButton: Bool true //State private var title: String "Title" //"" //State private var subtitle: String? "SubTitl…...
canal rocketmq
上篇文章canal 消费进度说到直接使用ClusterCanalConnector并发消费是有问题的,可以先用单点将canal事件发送到mq中,再由mq并发处理,另外mq还可以做到削峰的作用,让canal数据不至于阻塞。 使用队列,可以自己起一个单实…...

【数据库系统概论】第九章关系查询处理何查询优化
9.1查询处理 一:查询处理步骤 关系数据库管理系统查询处理可以分为4个阶段: 查询分析查询检查查询优化查询执行 (1)查询分析 任务:对查询语句进行扫描,分析词法、语法是否符合SQL语法规则 如果没有语…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
WebRTC从入门到实践 - 零基础教程
WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC? WebRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...

spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...

解析两阶段提交与三阶段提交的核心差异及MySQL实现方案
引言 在分布式系统的事务处理中,如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议(2PC)通过准备阶段与提交阶段的协调机制,以同步决策模式确保事务原子性。其改进版本三阶段提交协议(3PC…...
TCP/IP 网络编程 | 服务端 客户端的封装
设计模式 文章目录 设计模式一、socket.h 接口(interface)二、socket.cpp 实现(implementation)三、server.cpp 使用封装(main 函数)四、client.cpp 使用封装(main 函数)五、退出方法…...