搞笑談軟工

Event Sourcing (11): Writing JavsScript to Generate Custom Projections in EventStoreDB

Original link: https://teddy-chen-tw.blogspot.com/2022/07/11javsscripteventstoredb.html July 04 18:38~19:46 ▲Figure 1: User-defined projection program of EventStoreDB foreword The previous episode will introduce how ezKanbana implements the Projector to generate the data required by the Read Model in the PostgreSQL database. This episode uses EventStoreDB’s custom Project function to create another form of Read Model. *** Generate event projection […]

Event Sourcing (11): Writing JavsScript to Generate Custom Projections in EventStoreDB Read More »

Event Sourcing (11): Writing JavsScript to Generate Custom Projections in EventStoreDB

Original link: https://teddy-chen-tw.blogspot.com/2022/07/11javsscripteventstoredb.html July 04 18:38~19:46 ▲Figure 1: User-defined projection program of EventStoreDB foreword The previous episode will introduce how ezKanbana implements the Projector to generate the data required by the Read Model in the PostgreSQL database. This episode uses EventStoreDB’s custom Project function to create another form of Read Model. *** Generate event projection

Event Sourcing (11): Writing JavsScript to Generate Custom Projections in EventStoreDB Read More »

Event Sourcing (7): Optimistic Locking

Original link: https://teddy-chen-tw.blogspot.com/2022/07/7.html June 30 22:15~24:00; July 01 00:00~00:59 ▲Figure 1: Different Aggregates do not need to be locked foreword Suppose two users get the same Tag at the same time, rename it and save it, how can the system avoid data conflict? This is a Concurrency Control problem. In the Event Sourcing system, optimistic

Event Sourcing (7): Optimistic Locking Read More »

Event Sourcing (7): Optimistic Locking

Original link: https://teddy-chen-tw.blogspot.com/2022/07/7.html June 30 22:15~24:00; July 01 00:00~00:59 ▲Figure 1: Different Aggregates do not need to be locked foreword Suppose two users get the same Tag at the same time, rename it and save it, how can the system avoid data conflict? This is a Concurrency Control problem. In the Event Sourcing system, optimistic

Event Sourcing (7): Optimistic Locking Read More »

Event Source Tracing (6): Query the Event Store through Projection

Original link: https://teddy-chen-tw.blogspot.com/2022/07/6projectionevent-store.html June 30 22:15~23:38 ▲Figure 1: Projections screen of EventStoreDB foreword Applying Event Sourcing in domain-driven design, the data of an Aggregate instance is stored to the event stream of the Event Store through the Repository, and a single Aggregate instance is used as the basic unit when it is read. But this

Event Source Tracing (6): Query the Event Store through Projection Read More »

Event Source Tracing (6): Query the Event Store through Projection

Original link: https://teddy-chen-tw.blogspot.com/2022/07/6projectionevent-store.html June 30 22:15~23:38 ▲Figure 1: Projections screen of EventStoreDB foreword Applying Event Sourcing in domain-driven design, the data of an Aggregate instance is stored to the event stream of the Event Store through the Repository, and a single Aggregate instance is used as the basic unit when it is read. But this

Event Source Tracing (6): Query the Event Store through Projection Read More »

Event Sourcing (4): Store Aggregate to Outbox Store

Original link: https://teddy-chen-tw.blogspot.com/2022/07/4aggregateoutbox-store.html June 30 10:41~12:02; 12:56~15:24 ▲Figure 1: Outbox storage method, the database contains the data tables required by State Sourcing and Transactional Outbox foreword In this episode, the traditional State Sourcing method is used to store the Tag Aggregate in the PostgreSQL relational database. In addition to storing the Tag Aggregate data in

Event Sourcing (4): Store Aggregate to Outbox Store Read More »

Event Sourcing (4): Store Aggregate to Outbox Store

Original link: https://teddy-chen-tw.blogspot.com/2022/07/4aggregateoutbox-store.html June 30 10:41~12:02; 12:56~15:24 ▲Figure 1: Outbox storage method, the database contains the data tables required by State Sourcing and Transactional Outbox foreword In this episode, the traditional State Sourcing method is used to store the Tag Aggregate in the PostgreSQL relational database. In addition to storing the Tag Aggregate data in

Event Sourcing (4): Store Aggregate to Outbox Store Read More »

Event Sourcing (3): Store Aggregate in EventStoreDB

Original link: https://teddy-chen-tw.blogspot.com/2022/06/3aggregateeventstoredb.html June 29 05:39~09:08 ▲ The record of the ezKanban team discussing the design of the Repository foreword Today, I will store the Tag Aggregate written in the last episode to EventStoreDB ( https://eventstore.com ), a special-purpose open source database specially designed for Event Sourcing. *** Prepare the environment First install EventStoreDB, the

Event Sourcing (3): Store Aggregate in EventStoreDB Read More »

Event Sourcing (3): Store Aggregate in EventStoreDB

Original link: https://teddy-chen-tw.blogspot.com/2022/06/3aggregateeventstoredb.html June 29 05:39~09:08 ▲ The record of the ezKanban team discussing the design of the Repository foreword Today, I will store the Tag Aggregate written in the last episode to EventStoreDB ( https://eventstore.com ), a special-purpose open source database specially designed for Event Sourcing. *** Prepare the environment First install EventStoreDB, the

Event Sourcing (3): Store Aggregate in EventStoreDB Read More »

Event Sourcing (1): The Benefits of Event Sourcing

Original link: https://teddy-chen-tw.blogspot.com/2022/06/1event-sourcing.html June 28 06:30~09:28 ▲The system state using Event Sourcing is calculated by replaying (reapplying) events foreword In the second half of this year, Teddy is going to start a new course – [Introduction to Event Tracing and Command Query Responsibility Separation Architecture] . Before starting the course, organize the content of the

Event Sourcing (1): The Benefits of Event Sourcing Read More »