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.

Optimistic Concurrency Control: Alice and Bob Couldn’t Sit Together 🙁
Alice and Bob want to go to the cinema together and sit next to each other. However, each will book…

#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.

Lessons learned from running Redis at scale
This post details how that effort led to introducing Redis to our architecture, and the lessons we learned running Redis at scale.

#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.

Lessons learned from moving the blog to a new domain
The blog was inaccessible for more than 50 minutes. Why it took so long to migrate it from one domain to another?

#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!

Cloudflare 2024 Year in Review
The 2024 Cloudflare Radar Year in Review is our fifth annual review of Internet trends and patterns at both a global and country/region level. For 2024, we added several new metrics, as well as the ability to do year-over-year and geographic comparisons for selected metrics.

#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.

How to invalidate Cognito-issued JWT tokens
Find out how to invalidate Cognito-issued JWT tokens and enforce session revocation in token-based authentication systems in real-time.

#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.

A simple guide to ClickHouse query optimization: part 1
A beginner-friendly guide to spotting slow ClickHouse queries and applying basic optimization tips.

#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.

How Pinterest Leverages Honeycomb to Enhance CI Observability and Improve CI Build Stability
Oliver Koo | Staff Software Engineer

#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!