Architecture Weekly Issue #148. 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.
Highlights
Optimistic Concurrency Control: Alice and Bob Couldn't Sit Together 👷♂️
Ever wondered how booking seats at cinemas, trains and planes work? Franck Pachot shows the examples of Pessimstic and Optimistic concurrency controls in PostgreSQL and Aurora DSQL, and boy, no wonder it leads to different results. Follow the sequences there.
#db
Lessons learned from running Redis at scale 👷♂️
Mattermost is a messaging solution for security-sensitive companies like national defense or cybersecurity companies. Recently the switched from in-memory cache to redis after reaching 100k users and faced some scaling challenges. Figure out why adding more compute nodes can actually make the situation worse and how to use Redis efficiently.
#casestudy #performance
Lessons learned from moving the blog to a new domain 👷♂️
Talking about the lessons learned - recently I moved the blog and newsletter from the main hostname vvsevolodovich.dev to blog.vvsevolodovich.dev, while leaving the main page for my professional landing. It caused several technical difficulties, figure out what they were and I solved them with the help of Cloudflare.
#casestudy
System Design Course
Looking to advance your system design skills further? I've got a Business Oriented System Design Course to help you! The Cohort #3 is running now, so you can sign up for the next one starting end of January. Follow this page: https://vvsevolodovich.dev/business-oriented-system-design-course/
Follow Up
Cloudflare 2024 Year in Review 🍼
As you saw earlier I use Cloudflare for both my blog and supplied.eu applications. They just published their 5th year-in-review post. Find out how fast the overall internet traffic grows, what is the ratio of postquantum encryption in it and many other insights!
#network
How to invalidate Cognito-issued JWT tokens 👷♂️
JWT tokens are stateless - they contain all the information to check the permissions - and do not require the communication with Identity Provider to work. This setup introduces a challenge of revoking the tokens in case of a security breach for a particular token. You can still solve it relatively well in a setup with Cognito.
#serverless #security
Load is not what you should balance 🤟
The common wisdom about load balancing is use CPU, latency or least connections metric. It may work fine on relatively small issues leaving huge area for improvement on proper large systems like YouTube. The innovation approach of Prequal with probes can significantly decrease tail latency and CPU utilization. Follow the paper!
#paper #performance
A simple guide to ClickHouse query optimization: part 1 👷♂️
Did you know clickhouse had playgroud where you can try it out with different datasets like NY Taxi data? With the tool in place, we can have insights into the query optimization that ClickHouse makes. And this is what this whole blog post about.
#db #performance #nosql
How Pintereset Leverages Honeycomb to Enhance CI Observability 👷♂️
Typical use of observability solutions is monitoring the runtime. You can pick to get insights into your build process too, which is exactly what Pinterest has done. Look, how several observability issues allowed them to discover, analyze and remove the spikes in 95th percentile of their iOS builds.
#observability
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! If you like the newsletter, feel free to support it there - with one-time support for example!