Skip to content

Scaling beyond two aggregates #37

Answered by idugalic
allforabit asked this question in Q&A
Discussion options

You must be logged in to vote

Hi @allforabit.
Thank you for your feedback!

combine is an operation/algebra on Deciders (Views and Sagas as well) that is associative. One could compare this operation to adding Numbers in math. In FP this is known as SemiGroup. Because Decider<Nothing, Unit, Nothing> represents an identity it makes it a Monoid

Combining multiple deciders into one is convenient in a Monolith situation, in which you have an Aggregate (application layer) that is using a combined decider. My advice is to combine deciders that have some invariant/relationship (that is why you have Saga as an optional component in your aggregate). If you design it in this way, it should be much easier to distribute each of th…

Replies: 1 comment 2 replies

Comment options

You must be logged in to vote
2 replies
@allforabit
Comment options

@idugalic
Comment options

Answer selected by allforabit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants