← Latest posts

Engineering notes

Page 4 of 4

·9 min read

Python Multiprocessing vs Multithreading: Which One and Why

How the GIL decides whether threads or processes speed up your Python code, what pickling and spawn cost you, and how to switch between the two in one line.

Python
·9 min read

Service Discovery Using Eureka Server: How It Actually Works

How Eureka service discovery works: register, heartbeat, fetch and evict with real defaults, a Spring Boot server on port 8761, and self-preservation mode.

Distributed Systems
·9 min read

Docker vs Kubernetes: What's Actually Different

Docker builds and runs containers on one machine; Kubernetes schedules them across many. See the concept-by-concept mapping and what changed in Kubernetes 1.24.

Containers
·12 min read

AWS Lambda vs EC2: Which Should Run Your Workload?

How AWS Lambda and EC2 differ in execution model, hard limits, scaling, cold starts and billing — plus a clear rule for choosing one for your workload.

Cloud & DevOps
·12 min read

What Is AWS IAM and How Does It Work?

Learn what AWS IAM is, the four identity types, how JSON policies are structured, and the exact deny-allow-deny logic AWS runs on every single API request.

Cloud & DevOps
·9 min read

How to Install Java 21 (JDK 21) on Windows

Install JDK 21 on Windows 10 or 11: choosing Temurin, Corretto or Oracle, the MSI checkboxes that matter, setting JAVA_HOME and PATH, fixing a wrong version.

Java
·10 min read

What Triggers a Kafka Consumer Group Rebalance?

Every cause of a Kafka consumer group rebalance, the configs behind each one, and why session.timeout.ms and max.poll.interval.ms are different timers.

Distributed Systems