.NET Microservices: CQRS & Event Sourcing with Kafka
.NET微服务:使用Kafka的CQRS(命令查询 Responsibility Segregation)与事件驱动(Event Sourcing)
Learn how to create microservices in C# that are based on CQRS and Event Sourcing. Powered by .NET and Apache Kafka.
学习如何使用C#创建基于CQRS(命令查询 Responsibility Segregation)和事件驱动(Event Sourcing)的微服务。由.NET和Apache Kafka提供支持。
教程演示🔗
学生数量:6,822 个学生
上次更新时间:2023年9月
教程评分:4.4
教程语言:英语
教程字幕:中文、英语字幕
本课程包括:结业证书、完整的永久访问权、8.5 小时 长的随选视频、76 个可下载资源、在移动设备和电视上观看字幕
学习内容
1、CQRS 是 “Command Query Responsibility Segregation”(命令-查询分离)的缩写,是一种软件设计模式,主要用于面向对象的系统架构中。它将应用程序的读取和写入逻辑分开,使得模型能够更好地服务于两个目的:处理命令(执行操作)和提供查询(获取数据)。在 CQRS 中,有一个单独的查询模型用于处理读取请求,而另一个命令模型处理写入请求,这有助于提高系统的可扩展性、可维护性和并发性能。
2、事件驱动架构(Event Sourcing)
3、如何使用C#和.NET创建微服务
4、创建DDD(领域驱动设计)导向的微服务
5、使用Apache Kafka作为消息总线
6、创建一个使用MongoDB的事件存储
7、乐观并发控制(Optimistic Concurrency Control)
8、事件版本控制
9、使用Microsoft SQL实现读取数据库
10、重放事件存储并重建聚合的状态。
11、重放事件存储并重建整个读取数据库。
12、重放事件存储并在不同数据库类型中重建读取数据库 – PostgreSQL
13、实现”服务关联数据库模式”(Database-Per-Service Pattern)
14、Entity Framework Core(SQL Server和PostgreSQL)
15、依赖注入(Dependency Injection,DI)
16、Docker是一个开源的容器化平台,它让开发者能够打包他们的应用和依赖包到可移植的容器中,然后在任何支持Docker的平台上运行。Docker提供了一种轻量级的虚拟化解决方案,使得应用程序可以在不同环境中(如开发、测试、生产)以一致的方式运行,同时保持资源高效利用。它简化了部署和管理过程,促进了DevOps文化的发展。
要求
1、CQRS是”Command Query Responsibility Segregation”(命令-查询分离)的缩写。这是一种软件设计模式,它将应用程序的读取和写入操作分开,让它们由不同的对象或服务处理。在CQRS中,查询操作(读取数据)通常由查询处理器执行,而命令操作(更新数据)则通过命令处理器来处理,以提高系统的可扩展性和清晰性。
2、事件驱动架构(Event Sourcing)
3、Apache Kafka是一个分布式流处理平台,用于构建实时数据管道和消息队列。它设计用于高吞吐量、低延迟和持久化,常用于构建大规模的事件驱动系统。Kafka的核心组件包括生产者(Producer)、消费者(Consumer)和主题(Topic),允许数据在分布式系统中高效地发布、存储和消费。
4、C#的相关经验是必不可少的。
课程介绍
在这个课程中,你将学习如何使用C#和Apache Kafka创建符合CQRS(命令查询 Responsibility Segregation)和事件驱动(Event Sourcing)模式的.NET微服务。你不会使用现成的CQRS框架,而是会逐步编写所有代码,亲手构建自己的框架。虽然这可能看起来有些挑战,但课程会提供详尽的指导,让你逐步掌握并建立起在这两个模式中的专业知识和信心,成为CQRS和事件驱动的专家。
课程结束时,你将能够:
– 处理命令并发布事件。
– 使用中介者模式实现命令和查询分发器。
– 通过事件消息创建和更新聚合状态。
– 在MongoDB中实现事件存储/写入数据库。
– 在MS SQL中建立读取数据库。
– 应用事件版本控制。
– 实现乐观并发控制。
– 向Apache Kafka生产事件。
– 从Apache Kafka消费事件以填充和更新读取数据库中的记录。
– 重放事件存储,恢复聚合状态。
– 分离读写关注点。
– 使用领域驱动设计最佳实践组织代码。
– 重放事件存储以重建整个读取数据库。
– 将事件存储中的内容重建成不同类型的数据库,如PostgreSQL。
本课程的目标是深入探讨CQRS和事件驱动的世界,帮助你创建超级解耦和极度可扩展的微服务。
在WordPress元描述中融入Yoast SEO优化关键词和短语:
“深入学习C#与Apache Kafka:打造CQRS与事件驱动.NET微服务实战课程。掌握命令处理、事件发布、MongoDB事件存储及MS SQL读库等关键技能。通过领域驱动设计实践,构建解耦、可扩展的微服务架构,成为CQRS与事件驱动模式的高手。”