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

EDA事件驱动架构:Event Driven Architecture

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

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

BASE理论:

基本可用 Basically Available

软状态 Soft State

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

幂等性理论:

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

如何保障幂等性:

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

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

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

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

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

	查询:不需要保证幂等性
相关推荐
煎饼学大模型3 小时前
Agent 的“大脑-手“解耦架构:当推理层和工具执行层各自独立演进
数据库·人工智能·oracle·架构·agent
韩楚风10 小时前
【参天引擎】一次宕机后的数据恢复,让我把 Cantian 持久化与恢复的六大机制全搞明白了
服务器·网络·数据库·分布式·mysql·架构·cantian
Slice_cy10 小时前
Mint 自研框架设计与实现:从重复开发走向配置驱动(五)
前端·后端·架构
heimeiyingwang10 小时前
【架构实战】Helm Chart 进阶:依赖管理、测试与 CI/CD 集成
ci/cd·架构
四眼肥鱼10 小时前
【Nextjs】macos 系统运行报错:Error: Cannot find module '../lightningcss.darwin-x64.node'
前端·架构·前端框架
GitLqr11 小时前
别被“Flutter 传感器延迟 150ms”带偏了:这可能只是你的实现方式错了
flutter·架构·kotlin
SamDeepThinking11 小时前
微信支付对接实战:从下单到回调的完整落地过程
后端·程序员·架构
shiyi.十一11 小时前
第7章:无线网络和移动网络 — 知识要点与架构
网络·架构·php
Slice_cy12 小时前
Mint 自研框架设计与实现:从重复开发走向配置驱动(三)
前端·后端·架构
写代码的强哥12 小时前
TiDB 和 OceanBase 对比:架构师视角下的企业选型实战指南
数据库·云原生·架构