|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/build-an-event-store-in-c-sharp-with-cqrs-and-event-sourcing/
课程评论:没有评论
**课程名称:** 使用 C# .NET 构建 CQRS 和事件溯源的事件存储 **课程概述:** 本课程专注于介绍如何利用 CQRS(命令查询责任分离)、事件溯源(Event Sourcing)和领域驱动设计(DDD)等现代软件架构模式,来构建更具响应性和数据完整性的应用程序。 在当今强调实时通信和反馈的时代,传统的 CRUD(创建、读取、更新、删除)应用程序在提供即时用户反馈方面存在局限性。而基于事件的解决方案,特别是事件溯源,能够提供深入的实时业务洞察,并且通过将所有变更记录在一个不可变的日志(事件存储)中,避免了 CRUD 模式中可能丢失数据的风险。事件存储作为整个解决方案的“真相之源”,能够记录下“何时”以及“为何”发生了变更,从而赋予我们回答未来业务和用户问题的能力,即使最初的需求并不完备。 **核心内容:** * **事件作为真相之源:** 强调领域事件的重要性,认为它们比 CRUD 模式中不完整的零散数据更能代表系统的核心状态。 * **事件存储的构建:** * 使用 C# .NET 进行事件存储的实现。 * 利用 AWS DynamoDB 作为持久化存储机制(但代码设计具有通用性,易于迁移至 Java 或其他语言,并支持 MySQL、PostgreSQL、MongoDB 等多种数据库)。 * 代码抽象化设计,便于针对不同持久化实现进行重用。 * 课程内容适用于本地部署、纯云端或混合部署模式。 * **读模型的实现:** 以 AWS MySQL 为例,演示如何构建一个读模型。 **学习价值:** 通过本课程的学习,您将深刻理解事件溯源的强大之处,并能够构建出响应迅速、数据详尽且具备强大审计能力的应用系统。课程所教授的概念和 C# 代码具有高度的灵活性和可复用性,能够帮助您在不同技术栈和部署环境中实现高效的事件驱动架构。
Real-time communication and feedback to your customers are more important then ever. Customers have become used to immediate feedback on the actions they take in your software. It is very hard in create, read, update, and delete (CRUD) based applications to provide this sort of responsiveness that your customers are demanding. Event-based solutions that are based on CQRS, Event Sourcing, and Domain-Driven Design (DDD) can offer deep insides in real-time to your customers and to your business. More importantly, you won't loose data in an event-sourced solution when compared to CRUD-based solutions because your solution will be able to provide the context on why changes happened and record changes into an immutable log, the event store.In this course, you will learn about the importance of using domain events as your source of truth instead of pieces of data that are incomplete in CRUD-based applications. You will be able to tell stories on what happened when and why. You will be able to answer future questions by your customers and business even though you may not have all the requirements at hand when you design and build your event-sourced solution.At the very heart of your solution will be the event store. The event store is the source of truth in your entire solution. We will be building an event store in C#. NET and utilizing AWS DynamoDB as the persistence mechanism. However, the provided C# source code can easily be converted to Java or other languages. For the actual persistence, you could also use MySQL, PostgreSQL, MongoDB, and others. The C# code is abstracted so that can you can re-use it for specific persistence implementations. The concepts and code can work for on-premise, cloud only, or hybrid models. For an example read model implementation, we will be creating a read model using MySQL in AWS.Once you understand the power of event sourcing, you won't go back.