RKB (@rkbdevir7) header
RKB (@rkbdevir7) profile picture

22 • full-stack developer • learning Go

India
Joined April 2024
Photo by RKB (@rkbdevir7)Photo by RKB (@rkbdevir7)Photo by RKB (@rkbdevir7)Photo by RKB (@rkbdevir7)Photo by RKB (@rkbdevir7)Photo by RKB (@rkbdevir7)Photo by RKB (@rkbdevir7)Photo by RKB (@rkbdevir7)Photo by RKB (@rkbdevir7)Photo by RKB (@rkbdevir7)
here is the project link: github.com/rhittik12/hookkee… Any suggestions are welcome. 🙌
Building Hookkeeper, a webhook delivery system with Next.js, BullMQ, Redis and PostgreSQL. Added retries, idempotency, per-destination token-bucket rate limiting and HMAC signing. Ran a 50K-request load test and found bottlenecks to fix before deployment.
7
Building Hookkeeper, a webhook delivery system with Next.js, BullMQ, Redis and PostgreSQL. Added retries, idempotency, per-destination token-bucket rate limiting and HMAC signing. Ran a 50K-request load test and found bottlenecks to fix before deployment.
2
2
1
31
I was using Upstash's free tier and hit its 500K Redis request quota much sooner than expected. The 50K-request test couldn't fully complete. Now I'm investigating Redis usage and the queue backlog before trying again.
6
Mujhse koi baat nahi karta😢
1
1
37
Made some progress on Hookkeeper today. Load-tested it with 50K requests, explored delivery statistics in Neon, and ran into Upstash's 500K request limit Now figuring out the deployment setup for the BullMQ worker and public webhook destinations Still a few things to iron out!
2
97
Today I learned something new while exploring retries and rate limiting in my webhook system. When many failed jobs retry at once, they can overload a service. That's the thundering herd problem. Jitter adds randomness to retry delays, spreading the load over time.
1
2
29
i can’t believe bill gates named that company after his penis
2,870
13,538
3,158
159,870
14,878,221
hey @grok what's the most liked tweet of all time?
1
65
What programming language is this?
2
43
WTF is happening with my YouTube. Why can't I scroll down
15
why the hell is auto-scroll still not available on Instagram for iPad, @instagram ? 😭 it's 2026. how am i still manually scrolling reels?
1
4
165
Today I learned about database Connection Pooling. Instead of opening and closing a database connection for every request, we maintain a pool of reusable connections. Also learned why managing these pools becomes important when an application runs multiple backend instances.
6
2
67
↳ We can configure smaller pools or use tools like PgBouncer to manage database connections more efficiently. Connection pooling isn't about unlimited connections. It's about reusing and managing a limited number of them.
5
↳ Each backend instance can have its own connection pool. For example, 4 instances with 30 connections each can create 120 potential connections, even if the database allows only 100.
6
↳ What happens when all connections are occupied? New requests have to wait until a connection becomes available. If they wait too long, they can time out.
10
↳ A request borrows an available connection, executes its database query, and returns the connection to the pool. Another request can then reuse that same connection instead of creating a new one.
16
F1 fans really wake up at 5 AM to watch 20 rich guys drive in circles and call it the greatest sport ever invented 💀
the f1 film could never
27
Learning System Design: Spent some time learning about ACID today. The bank transfer example actually helped me understand why these properties matter. A simple transfer involves more than just moving money from one account to another. Here are the 4 things I learned 👇
4
2
185
Durability = Committed changes survive. Once a transaction is successfully committed, its changes should remain saved even if the database server crashes and restarts.
6
Isolation = Transactions shouldn't interfere improperly. Imagine two people transferring money from the same account simultaneously. The database must coordinate these transactions to prevent incorrect results.
10