6 votes

Best practices for delayed actions in event-driven architecture

My problem is how to cancel the unwanted event because events are immutable and cannot be deleted. Events are immutable because they are past. If you are delaying or scheduling events, you are doing ...
Laiv's user avatar
  • 14.6k
3 votes

Best practices for delayed actions in event-driven architecture

You handle every event. Sometimes you handle it by doing nothing. That’s the case here. Event A triggers a ten minute timer and sets a state to “waiting for timer”. Event C sets A’s state to “do ...
gnasher729's user avatar
  • 45.1k
3 votes

Microservices messaging and coupling

Sure. Easy route: don't make breaking changes to your messages - e.g. adding an optional field to a message is backwards-compatible so you can do that without needing to redeploy everything. Sometimes ...
Philip Kendall's user avatar
3 votes

How to handle aggregations of out-of-order events in an event stream?

Is there a well known design pattern for handling aggregations of events which are not guaranteed to be in order? As far as I can tell, the usual answer is "don't do that" - if you need a ...
VoiceOfUnreason's user avatar
2 votes

Best practices for delayed actions in event-driven architecture

Service A is sending a command CMD to service B. We also need to consider other services XYZ that may be concerned by CMD and need to receive the message. There are 2 cases: would XYZ need to know ...
Benj's user avatar
  • 121
2 votes

Best practices for delayed actions in event-driven architecture

Although you could probably solve this with something like Kafka Streams I would suggest keeping the solution simple: Create (or integrate) a scheduling service. Each time a new "delayed" ...
DavidT's user avatar
  • 3,338
2 votes
Accepted

In an event-driven system, what are the best practices around the number of events and size/atomicity?

Setting aside the term 'best practice', there are some considerations. First off, when it comes to messaging, forget any ideas you might have about 'guaranteed' delivery etc. It's very common for ...
JimmyJames's user avatar
  • 27.3k
1 vote

Event Sourcing inside a RDBMS

It surprises me that this is so uncommon. I've used it in past projects with great results. Anecdotally, I can confirm that this approach works perfectly fine. It may have some additional complexities ...
Flater's user avatar
  • 49.8k
1 vote

Event Sourcing inside a RDBMS

In a persistent disk storage context we call this CoW or sometimes LFS. For datastructures in RAM we tend to refer to it as functional programming. To satisfy your needs, in both cases we should ...
J_H's user avatar
  • 6,830
1 vote

Reduce duplicates in outbox pattern in event driven systems

does it make sense to at least improve the message relay and reduce chance of duplicates? It might make sense to do this, depending on your priorities (requirements) and options. First off, you may ...
Avius's user avatar
  • 397

Only top scored, non community-wiki answers of a minimum length are eligible