THOUGHTS + NOTES

BLOG

Field notes on backend architecture, distributed systems, delivery tradeoffs, and practical lessons from production work.

gRPC + Go + Kafka + Cassandra: A Stack for Low-Latency Financial Data
AwsCassandraDistributed SystemDistributed SystemsFintechGoGrpcInfrastructureMicroservices

gRPC + Go + Kafka + Cassandra: A Stack for Low-Latency Financial Data

This post is the write-up I wish existed when I started. Not the "hello world gRPC tutorial" kind. The kind where I tell you what actually happens when you push 400K quote updates per second through this stack, what happens when a Kafka consumer group rebalances during a market open, what Cassandra does to your disk at 3 AM during compaction, and why your gRPC load balancer is silently routing everything to one pod.

35 MIN READ
Read articlearrow_forward
Building a Chat System at Scale: Microservices Lessons
AwsCeleryDistributed SystemDistributed SystemsFintechGoIbkrInfrastructureInteractive BrokersMicroservicesMqttMt4Mt5PythonRmqTrading

Building a Chat System at Scale: Microservices Lessons

We needed one real-time connection per client to carry both financial tick data and social chat - with sub-100ms delivery for prices and guaranteed delivery for messages. This is how we unified both workloads on a single MQTT broker cluster, wired four programming languages through RabbitMQ, ran self-managed Kubernetes on AWS before EKS existed, and built a TradingView-integrated OHLCV pipeline from raw MetaTrader ticks.

28 MIN READ
Read articlearrow_forward
Real-Time Messaging with ZeroMQ: Patterns That Actually Work
AwsDistributed SystemElasticsearchInfrastructureJavascriptNodejsZmq

Real-Time Messaging with ZeroMQ: Patterns That Actually Work

For the last eight months I've been building a real-time notification, messaging, and event processing system from scratch. The stack: Node.js, ZeroMQ, Elasticsearch, and Socket.IO, running across a handful of AWS EC2 instances. No RabbitMQ. No ActiveMQ. No Kafka. No broker at all.

30 MIN READ
Read articlearrow_forward