每日必会7

简介: CAP理论指出分布式系统中一致性(C)、可用性(A)、分区容错性(P)不可兼得,只能三选二。由于网络故障不可避免,P必须保证,因此只能在A和C间权衡。BASE理论是对此的实践补充,主张基本可用、软状态、最终一致性。Seata AT模式通过全局事务ID(XID)协调分支事务注册与提交,实现分布式事务一致性。MQ防丢消息:生产端确认、持久化、消费端ACK;防重复消费:幂等设计;防积压:扩容、批量处理、限流削峰。

CAP和Base理论了解吗
Consistency(一致性):用户访问分布式系统中的任意节点,得到的数据必须一致。
Availability (可用性):用户访问集群中的任意健康节点必须能得到响应,而不是超时或拒绝。
Partition(分区):因为网络故障或其它原因导致分布式系统中的部分节点与其它节点失去连接,形成独立分区。
Tolerance(容错):在集群出现分区时,整个系统也要持续对外提供服务
系统间的网络不能100%保证健康,一定会有故障的时候,而服务又必须对外保证服务。因此Partition Tolerance不可避免。
如果此时要保证一致性,就必须等待网络恢复,完成数据同步后,整个集群才对外提供服务,服务处于阻塞状态,不可用。
如果此时要保证可用性,就不能等待网络恢复,那node01、node02与node03之间就会出现数据不一致。
也就是说,在P一定会出现的情况下,A和C之间只能实现一个
BASE理论是对CAP的一种解决思路,包含三个思想:
Basically Available(基本可用):分布式系统在出现故障时,允许损失部分可用性,即保证核心可用。
Soft State(软状态):在一定时间内,允许出现中间状态,比如临时的不一致状态。
Eventually Consistent(最终一致性):虽然无法保证强一致性,但是在软状态结束后,最终达到数据一致。
说下Seata的AT模式执行流程吧
其余模式同理,这里不重复,要能说出XA、AT、TCC执行流程

Seata AT模式的执行流程:
分布式事务发起方发送全局事务开始请求(Begin)给Seata Server,Seata Server为该全局事务生成一个全局事务ID(XID)。
分布式事务发起方开始执行本地事务,并在本地事务执行前向Seata发起分支事务注册请求(Branch Register),包括全局事务ID(XID)、分支事务ID(Branch ID)、分支事务参与者(即本地事务的执行者)等信息。
分布式事务发起方执行本地事务,如果本地事务执行成功,则向Seata发起分支事务提交请求(Branch Report);如果本地事务执行失败,则向Seata发起分支事务回滚请求(Branch Report)。
Seata Server接收到分支事务提交或回滚请求后,会根据请求的结果来决定是否进行全局事务的提交或回滚。
如果所有分支事务都提交成功,Seata会向所有参与者发送全局事务提交请求(Global Commit);如果有任何一个分支事务回滚,Seata会向所有参与者发送全局事务回滚请求(Global Rollback)。
参与者接收到全局事务提交或回滚请求后,根据请求的指令来执行本地事务的提交或回滚操作。
理论专项
MQ
怎么防止消息丢失
怎么防止消息重复消费
100W个消息怎么防止积压

相关文章
|
2月前
|
机器学习/深度学习 存储 自然语言处理
大模型基础概念术语解释
大语言模型(LLM)基于Transformer架构,通过海量文本训练,具备强大语言理解与生成能力。其核心组件包括注意力机制、位置编码与嵌入层,支持文本分割为Token进行处理。参数量达亿级以上,规模增长带来涌现能力,如复杂推理与跨任务泛化。混合专家模型(MoE)提升效率,推动模型持续扩展。
|
2月前
|
消息中间件 人工智能 决策智能
AgentScope x RocketMQ:构建多智能体应用组合
AgentScope是阿里巴巴推出的开发者友好型多智能体框架,支持模块化、可定制的智能体应用开发。通过集成RocketMQ,实现高效、可靠的Agent间通信,助力构建如“智能旅行助手”等复杂协作场景,推动多智能体生态发展。(238字)
|
2月前
|
存储 JSON NoSQL
MongoDB常用命令
本文介绍如何使用MongoDB存储文章评论数据,涵盖数据库与集合的创建、文档的增删改查、批量操作、投影查询、排序分页及更新修饰符等核心操作,帮助快速掌握MongoDB基本用法。
|
2月前
|
缓存 Java 数据库连接
MyBatis常见配置
MyBatis配置优先级:方法参数 > resource/url > properties。支持缓存、延迟加载、主键生成等常用配置,可多环境管理,默认使用development环境。事务由JDBC或MANAGED控制,集成Spring后由其接管事务管理。
|
2月前
|
人工智能 自然语言处理 API
全面认识MCP:大模型连接真实世界的“USB-C接口”
MCP(模型上下文协议)是AI时代的“万能接口”,由Anthropic提出,旨在统一大模型与工具、数据源的连接标准。它简化集成、提升任务处理能力,支持多步骤流程与安全合规,推动AI智能体从对话走向行动,重塑AI应用生态。
|
2月前
|
XML Java 数据格式
SpringBoot@Configuration使用总结
被@Configuration标注的类视为Spring配置类,等同于XML配置文件。通过@Bean注册Bean,结合AnnotationConfigApplicationContext可启动IOC容器,加载并管理Bean实例,包括配置类自身。
|
2月前
|
安全 数据安全/隐私保护 微服务
SpringSecurity权限管理
权限管理涵盖认证与授权,通过ACL、RBAC等模型实现用户身份校验与角色权限分配,构建安全访问控制,保障系统数据与流程安全。
|
2月前
|
人工智能 NoSQL Java
参考简历模板
项目名称:多领域智能微服务系统 项目描述:本系列项目覆盖教育、金融、物流、家政等领域,基于微服务架构融合大模型与AI技术,实现智能推荐、风险控制、路径优化与服务调度。集成RAG、知识图谱、MCP协议与多模态处理,提升系统智能化水平。通过Spring AI对接通义千问,结合向量库与工具调用,实现语义理解与决策自动化;利用Redis+MySQL实现会话记忆与混合存储,保障高并发下稳定性;封装通用服务为MCP标准接口,统一网关鉴权与限流,增强系统可扩展性与安全性。
|
2月前
|
人工智能 NoSQL 前端开发
面试真题
多套AI与Java技术面试题,涵盖RAG、智能体、大模型部署、分布式系统、JVM调优、数据库设计等核心内容,深入考察项目经验、架构能力与技术深度,适用于中高级工程师岗位选拔。
|
2月前
|
消息中间件 存储 人工智能
基于 RocketMQ LiteTopic 打造企业级 Session 管理
AI场景下,Session需满足低延迟、时序性、隔离性与上下文压缩四大要求。基于RocketMQ LiteTopic,实现会话持久化、断点恢复、多会话隔离与流量削峰,保障会话不丢失、可追溯、高并发稳定,助力企业级多智能体系统构建。(238字)