前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每日一博 - CRUD system VS Event sourcing design

每日一博 - CRUD system VS Event sourcing design

作者头像
小小工匠
发布2023-09-13 08:17:05
1270
发布2023-09-13 08:17:05
举报
文章被收录于专栏:小工匠聊架构小工匠聊架构

在这里插入图片描述
在这里插入图片描述

概念

CRUD 系统和事件溯源设计是两种不同的软件架构方法,用于处理数据和应用程序的状态。以下是它们的区别以及各自适用的场景:

  1. CRUD 系统
    • CRUD 代表 Create(创建)Read(读取)Update(更新)Delete(删除)。这种系统的设计侧重于对数据的直接操作。
    • 数据中心:CRUD 系统通常使用传统的关系型数据库,数据存储和管理方面比较直接。
    • 状态管理:CRUD 系统通过直接更改数据记录的状态来实现状态管理。每个操作都会直接影响数据的当前状态。
    • 适用场景:适用于需要实时状态管理、数据操作相对简单、需要强一致性的应用程序,如电子商务平台、博客网站、社交媒体应用等。
  2. 事件溯源设计
    • 事件溯源 是一种架构模式,它将应用程序的状态表示为一系列不可变事件的序列。每个事件都描述了在应用程序中发生的状态变化。
    • 数据中心:事件溯源通常使用事件存储来记录应用程序中的每个事件。这些事件可以存储在分布式日志中。
    • 状态管理:应用程序状态是通过重新应用事件序列来构建的,而不是直接更改数据记录的状态。状态是通过将事件应用于当前状态而演变出来的。
    • 适用场景:适用于需要灵活性和可伸缩性的应用程序,需要审计、跟踪和历史记录状态变化的应用程序,如金融系统、物流管理、医疗记录、实时分析等。

Arch Overview

在这里插入图片描述
在这里插入图片描述

小结

在选择使用哪种设计取决于项目需求和性质。

  • 如果您需要处理实时数据操作,并强调当前状态的强一致性,那么CRUD系统可能更适合。
  • 如果您需要跟踪和审计状态的历史变化,或者希望实现高度可伸缩的事件驱动应用程序,那么事件溯源设计可能更适合。

通常,复杂的应用程序可能会结合两者,根据不同的数据和业务需求使用不同的架构模式。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概念
  • Arch Overview
  • 小结
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档