Latest news and articles about DDD, CQRS, Event Sourcing and Software Architecture in general, aggregated daily and delivered weekly to your feed (RSS) reader. Subscribe here!

Week 12, year 2022

  • Eventsourcing Patterns: Multi-temporal Events - Multi-temporal Events Within a Domain Event, use separate timestamps to distinguish when the event occurred and when it was captured. Problem A Domain Event typically has a timestamp. A common pattern is to have the eventstore add the timestamp at the moment when the event is written. For example, there could be a database field named recorded_at, with a value that defaults to now(). The field is considered part of the metadata of the event (as opposed to the domain-specific payload). The field is accessible in the userland code that consumes the event, and can be used for infrastructural tasks (such as ordering the events chronologically) or domain-specific operations, projections, analytics… This is fine in many situations. [Mathias Verraes]
  • Building NServiceBus Metrics with OpenTelemetry and System.Diagnostics.Metrics - The release of System.Diagnostics.DiagnosticSource version 6.0 a few months back brought something entirely new to the library - support for OpenTelemetry Metrics. Since this package releases out-of-band from the .NET 6 SDK, it also means you can use these new metrics APIs in any application targeting .NET [Jimmy Bogard]
  • Small rant about the Software Design - Some time ago, I listened to an enlightening episode of Scott Hanselman’s podcast on how to teach computer science. The guest was Maria… [Event-Driven by Oskar Dudycz]
  • NServiceBus.Extensions.Diagnostics 2.1 Released - From the previous post on building NServiceBus metrics, I've pushed a new version of the NServiceBus.Extensions.Diagnostics and OpenTelemetry packages. As before, the OpenTelemetry packages are just small wrappers around TracerBuilderProvider. [Jimmy Bogard]
  • Domain-Driven Design Applied - I joined Alex Bolboacă on his podcast ‘Think. Design. Work Smart.’ We discussed DDD, the value of models, misconceptions about DDD (it’s not a Big Design Upfront method!) and more. [Mathias Verraes]
  • Why ZooKeeper Was Replaced with KRaft – The Log of All Logs - Why replace ZooKeeper with an internal log for Apache Kafka® metadata management? This post explores the rationale behind the replacement, examines why a quorum-based consensus protocol like Raft was utilized and altered to become KRaft, and describes the new Quorum Controller built on top of KRaft protocols. [Confluent Blog via Aggregater Linklog]
  • NServiceBus.Extensions.Diagnostics 2.1 Released - From the previous post on building NServiceBus metrics, I've pushed a new version of the NServiceBus.Extensions.Diagnostics and OpenTelemetry packages: NServiceBus.Extensions.Diagnostics NuGet NServiceBus.Extensions.Diagnostics ReadMe NServiceBus.Extensions.Diagnostics.OpenTelemetry NuGet NServiceBus.Extensions.Diagnostics.OpenTelemetry ReadMe As before, the OpenTelemetry packages are just small wrappers [Jimmy Bogard]
  • Building NServiceBus Metrics with OpenTelemetry and System.Diagnostics.Metrics - The release of System.Diagnostics.DiagnosticSource version 6.0 a few months back brought something entirely new to the library - support for OpenTelemetry Metrics. Since this package releases out-of-band from the .NET 6 SDK, it also means you can use these new metrics APIs in any application targeting .NET [Jimmy Bogard]
Permalink | From 21 March 2022 to 27 March 2022 | Last updated on: Mon, 7 Aug 2023 22:06:33 GMT