Discover more from Architecture Weekly
Architecture Weekly #97 - 17th October 2022
Welcome to the new week!
There are only a few patterns that I’m comfortable saying: “You should use it always if you want to build mature system”. One of them is the Outbox Pattern. Why? Because it guarantees that your business workflows and communication will not be stuck in the middle. It does that by storing transactionally the state change together with the message you want to publish. So it’s either state change that is recorded, and the message is scheduled to be published, or nothing is recorded. There are various approaches to implementing it:
transactional, which wraps the save and publishing with the transaction,
pull-based, that continuously queries the database for new messages,
push-based, which gets notifications from the database and pushes it forward.
Last week I wrote about how you can implement the last one by plugging into the Postgres Write-Ahead Log. I also provided an example of how you could implement it in .NET. Read more in:
I have a special offer for you!
I'll run an online open workshop with Practical Introduction to Event Sourcing in November. I think that’s a great starting point for you to start your journey, learn the foundations, get hands-on experience, and understand how to apply it in your project.
With Domain-Driven Design Europe, we decided to appreciate that you’re an Architecture Weekly subscriber and give you a 200€ discount! Click this link below and sign up, there are still some spots left, but they’re limited!
Getting back to Postgres. I’m biased, but I’m also extremely impressed by the number and quality of features the Postgres team delivers. Check the latest release to get the feeling:
Postgres engine is becoming a de-facto lingua franca of relational databases:
same with AWS AuroraDB,
Seeing the features like extended JSON features we’re using in Marten, mentioned logical replication, and other cool stuff makes it an extremely versatile and rock-solid database. When I started using it for the first time and jumped from MSSQL, I thought, “oh well, free database for sure it cannot compete with paid product”. And I was wrong. MSSQL is already left behind.
Ok, let’s end this love letter. From the other interesting topics, I brought you this time a few reports:
You always need to be cautious reading the company reports; they’ll always be biased and sprinkled with marketing sugar, but comparing the trends and conclusions, can give you a good picture of the industry trends. Btw. would you like to see my extended analysis about them?
Speaking about trends, check:
As always, they managed to put a lot of buzzwords in their article.
I’m not a huge fan of the Lex Friedman podcast. CoRecursive is soooo much better. Yet, I cannot deny that he can get great guests there. If you have spare 5 hours, check the episode with John Carmack. A lot of the game, programming and IT industry:
Check, also other links!
p.s. I invite you to join the paid version of Architecture Weekly. It already contains the exclusive Discord channel for subscribers (and my GitHub sponsors), monthly webinars, etc. It is a vibrant space for knowledge sharing. Don’t wait to be a part of it!
p.s.2. Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, and putting pressure on your local government or companies. You can also support Ukraine by donating, e.g. to Red Cross, the Ukraine humanitarian organisation. You may also consider joining Tech for Ukraine initiative.