Async message-oriented systems vs. REST for inter-microservice communications
Why was Mats created, what is the point of using message-based async RPC.
Topics /
The most popular blog posts about systems & performance on Hacker News. 6,942 posts.
Why was Mats created, what is the point of using message-based async RPC.
Apache Kafka has been the most popular open source event streaming system for many years and it continues to grow in popularity. Within the wider ecosystem there are other open source and source available competitors to Kafka such as Apache Pulsar, NATS Streaming, Redis Streams, RabbitMQ and more re
WebKit's FTL JIT now uses a new backend on OS X — the Bare Bones Backend, or B3 for short, replaces LLVM as the low-level optimizer.
An under-appreciated Rust feature
In this article, I'm trying to understand what makes the OpenBSD documentation that good.
In this All Things Linguistic post Gretchen and Lauren introduce a model dialogue:
A few weeks ago we upgraded a lot of the core infrastructure in our New York (okay, it’s really in New Jersey now – but don’t tell anyone) data center. We love being open with everything we do (including infrastructure), and really consider it one of the best job perks we have. So here’s how and why we upgrade a data…
Last December, I got an interesting bug report from the VWO support team. It seemed like the loading time of a particular analytics report was ridiculously slow for a big Enterprise customer. Since I am part of the Data platform, a flag was immediately raised and I got involved in debugging the issue.
The nine nines. 99.9999999% of uptime. Whether the AXD301 actually deserves to be held up as a system of nine nines seems debatable. I am not particularly interested in that debate. Erlang has a strong record for reliability and a design intended to help you as a developer and operator achieve your nines. Maybe just…
Typical server utilization is between 10% and 50%. Google has demonstrated 90% utilization without impacting latency SLAs . Xkcd estimated that Google owns 2 million machines . If you estimate an amortized total cost of $4k per machine per year , that's $8 billion per year. With numbers like that, even small…
We have seen in a previous post that switch statements are more complex than they seem. The compiler is able to implement them as a decision tree (even though maybe it shouldn't). Is that everything it can do?
This post is the first post in linux kernel series. Writing code to run in the kernel is different from user application. While developing in the kernel, you don’t write code from scratch, you need to implement one or more interfaces and register your implementation within the a kernel subsystem.
Fast programs are always fast, slow programs are slow even on a most powerful computers. Knowing that fast solution exists makes slow one plain wrong.
std::simd Can't Express 90% of Real SIMD Code
We are archiving Atom and all projects under the Atom organization for an official sunset on December 15, 2022.
The demo shows that even though the behavior appears similar, TCP connections leak when using the io_uring driver but not with the epoll driver. I've also tested this across various io_uring runtimes, and it turns out to be a common issue across all of them.
oddlama's personal web page and blog
Firmware flash Samsung SSD or NVMe directly from Linux without needing broken Samsung ISO boot environment!
If you take someone with intermediate knowledge of computing in the right areas, and ask them how an x86 machine boots, they'll probably start telling you about how the CPU first comes up in real mode and starts executing code from the 8086 reset vector of FFFF:FFF0. This understanding of how an x86 machine boots has…
Distributed database performance––both latency and uptime––can be dramatically improved with CDN-like multi-region deployments.
Advanced backup and copying for macOS. Schedule automated backups, take snapshots, and restore your Mac with confidence. Download a free 30-day trial.
A small enhancement to Datasette this week: I’ve added support for proxying via Unix domain sockets. This started out as a feature request from Aslak Raanes: #1388: Serve using UNIX …
zeroserve is a high-performance HTTPS server that runs eBPF scripts in userspace ( intro ). Now it's got a Caddy-compat mode - when provided a Caddyfile, zeroserve JIT-compiles it to eBPF and then to native x86_64/ARM64 machine code, and runs it in an io_uring event loop.