EDA事件驱动架构/BASE理论/幂等性理论

EDA事件驱动架构:Event Driven Architecture

消息组件:不仅仅是削峰填谷 而且可以做事件驱动架构

EDA驱动的特定:异步处理、跨平台/语言通信、应用解耦、可靠投递、最终一致性

BASE理论:

基本可用 Basically Available

软状态 Soft State

复制代码
最终一致性 Eventually Consisitent:缓存一致性  数据一致性

幂等性理论:

本来单机的操作结果双击了,导致调用了两次请求,数据一模一样。或者重试机制、补偿机制等也需要保证幂等

如何保障幂等性:

新增:比如账号注册:业务唯一约束

创建订单,只有创建的时候才生成订单号,每一次都是不用的订单号,唯一约束无法解决问题,这时候分布式锁+隐藏表单

更新:个人信息修改 乐观锁控制(version)

并发修改:分布式锁、DB锁(select * fron table for update)

复制代码
	删除:问题不大 业务唯一约束

	查询:不需要保证幂等性
相关推荐
稻草人22221 天前
java Excel 导出 ,如何实现八倍效率优化,以及代码分层,方法封装
后端·架构
数据智能老司机1 天前
精通 Python 设计模式——创建型设计模式
python·设计模式·架构
数据智能老司机1 天前
精通 Python 设计模式——SOLID 原则
python·设计模式·架构
bobz9651 天前
k8s svc 实现的技术演化:iptables --> ipvs --> cilium
架构
云舟吖1 天前
基于 electron-vite 实现一个 RPA 网页自动化工具
前端·架构
brzhang1 天前
当AI接管80%的执行,你“不可替代”的价值,藏在这20%里
前端·后端·架构
Lei活在当下2 天前
【业务场景架构实战】4. 支付状态分层流转的设计和实现
架构·android jetpack·响应式设计
架构师沉默2 天前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
kfyty7252 天前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构
刘立军2 天前
本地大模型编程实战(33)用SSE实现大模型的流式输出
架构·langchain·全栈