Architecture Weekly Issue #169. Articles, books, and playlists on architecture and related topics. Split by sections, highlighted with complexity: 🤟 means hardcore, 👷♂️ is technically applicable right away, 🍼 - is an introduction to the topic or an overview. Now in telegram and Substack as well.
Business Oriented System Design Course Cohort #5 is closed, but you can apply for Cohort #6(starting 23rd of July) waiting list here.
Highlights
Coding Assistants Threaten the Software Supply Chain 🍼
Threat modelling include Supply Chain attacks for a long time already. With coding assistants and MCP servers coming into picture, new attack surfaces emerge. Jim Gumbley shares the ideas how to fight those innovative attacks on Martin Fowler's blog.

#security #ai
When to use Request-Response with Apache Kafka? 👷♂️
Well, Apache Kafka does not provide exactly the request-response symantic: you just throw an event there and it eventually gets consumed. Kai Waehner shows the different intergration patterns and explain the best practices.

#kafka #microservices #integration
You might not need Redis 🍼
Using In-Memory Cache on the server side is popular practice to increase performance and improve available. But is it required every time? Victor Blomqvist shares 3 stories where Redis was concidered but eventually was decided out and to a good results.
#performance
Follow-Up
A detailed introduction to Buf 👷♂️
Kafka indeed supports the schema registry. And while having runtime type-checked schemas are fine, they don't cover all the cases like semantic validation or handling the sudden new schema on the cluster. The folks shows Bufstream: a replacement for Kafka with those problems solved through treating schemas as code and adding the required capabilities.

#kafka
A simple search engine from scratch* 🤟
Imagine you want to add a search engine to your blog(like this one). You'd probably go with mere text search within MySQL, but the results will be mediocre at best. How about build a more sophisticated ones searching for meanings, rather than text match? Max Bernstein shows how it can be achieved with a little machine learning and a couple of python scripts.
#search
JavaScript Lambda Runtime Benchmarking 👷♂️
Jason Butz’s article on DEV Community delves into a comparative analysis of JavaScript runtimes in AWS Lambda, specifically focusing on Node.js, Bun, and Deno. The study aims to evaluate the performance differences among these runtimes, particularly in the context of cold start times and execution durations.

#performance #serverless
Fast Distributed Transactions for Partitioned Database System 🤟
The 2012 SIGMOD paper introduces Calvin, a transaction scheduling and replication layer designed to transform non-transactional storage systems into scalable, ACID-compliant databases. Calvin’s key innovation lies in its deterministic execution model, which predefines a global transaction order, eliminating the need for traditional distributed commit protocols like two-phase commit.
#db #distributedsystems
Postgres backend statistics: WAL Statistics 👷♂️
Bertrand Drouvot’s latest blog post sheds light on the upcoming PostgreSQL 18 feature: per-backend Write-Ahead Logging (WAL) statistics. This enhancement introduces the pg_stat_get_backend_wal() function, allowing developers to monitor WAL activity on a per-backend basis. Such granularity aids in pinpointing which backend processes are generating the most WAL traffic, facilitating more efficient debugging and performance tuning.

#db #postgres
Big thanks to Nikita, Constantin, Anatoly, Oleksandr, Dima, Pavel B, Pavel, Robert, Roman, Iyri, Andrey, Lidia, Vladimir, August, Roman, Egor, Roman, Evgeniy, Nadia, Daria, Dzmitry, Mikhail, Nikita, Dmytro, Denis and Mikhail for supporting the newsletter on Patreon!