# Mykhailo Stadnyk — Node.js microservices posts

Source: https://imqueue.org/blog/authors/mykhailo-stadnyk/

Mykhailo Stadnyk — Creator & maintainer of @imqueue.

Web developer, software engineer and architect — mainly TypeScript, Go, JavaScript, Node.js, Python and C. Mykhailo is the creator and maintainer of the @imqueue framework.

GitHub: https://github.com/Mikhus

## Articles

11 articles, newest first.

- [How Node.js services talk to each other in 2026: the honest options](https://imqueue.org/blog/nodejs-service-communication-options-2026/) — 2026-08-03: REST, gRPC, tRPC, NATS, a framework like NestJS or Moleculer, or RPC over a message queue. Six real approaches, what each one costs, and the two questions that actually decide it — including when @imqueue is the wrong answer. — [markdown](https://imqueue.org/blog/nodejs-service-communication-options-2026/index.md)
- [Delayed and scheduled work without adding a job system](https://imqueue.org/blog/scheduled-work-without-a-job-system/) — 2026-07-25: "Send that email in 24 hours" usually turns into a second deployment, a second data model, and a job record shadowing a service method you already wrote. Often the message queue you already run can just do it. Here's how deferral works as a parameter, and what it costs. — [markdown](https://imqueue.org/blog/scheduled-work-without-a-job-system/index.md)
- [BullMQ alternatives for Node.js: an honest 2026 guide](https://imqueue.org/blog/bullmq-alternatives/) — 2026-07-22: BullMQ is the default Redis job queue for Node.js — but it isn't the only choice. Here's an even-handed map of the alternatives (Bee-Queue, pg-boss, Agenda, @imqueue/job and more), what each is actually good at, and how to pick. — [markdown](https://imqueue.org/blog/bullmq-alternatives/index.md)
- [RPC between Node.js microservices over a message queue](https://imqueue.org/blog/rpc-over-message-queue-nodejs/) — 2026-07-22: Why route internal service-to-service calls through a message queue instead of HTTP or gRPC — and how @imqueue makes those calls fully typed with zero client boilerplate. — [markdown](https://imqueue.org/blog/rpc-over-message-queue-nodejs/index.md)
- [Load balancing microservices without a load balancer](https://imqueue.org/blog/load-balancing-microservices-without-a-load-balancer/) — 2026-07-14: For internal service-to-service traffic, the load balancer you run and operate is often solving a problem a message queue solves for free. Here's the competing-consumers pattern, why pull beats push, and what you give up. — [markdown](https://imqueue.org/blog/load-balancing-microservices-without-a-load-balancer/index.md)
- [Do your Node.js back-ends really need service discovery?](https://imqueue.org/blog/do-nodejs-backends-need-service-discovery/) — 2026-07-12: Consul, etcd, DNS-SD — service discovery is a lot of machinery to stand up. Sometimes you genuinely need it; often you don't. Here's how to tell, and how a queue makes the question disappear. — [markdown](https://imqueue.org/blog/do-nodejs-backends-need-service-discovery/index.md)
- [Back-pressure for Node.js services](https://imqueue.org/blog/backpressure-nodejs-services/) — 2026-07-09: When a downstream service slows down, HTTP tends to turn that into a cascading failure. A queue absorbs the spike instead. Here's the difference, and the trade-offs to watch. — [markdown](https://imqueue.org/blog/backpressure-nodejs-services/index.md)
- [Guaranteed message delivery: cost and when to use it](https://imqueue.org/blog/guaranteed-message-delivery-cost/) — 2026-07-07: "Will I lose messages if a worker dies?" is the right question — and the answer is a trade-off, not a yes/no. Here's how guaranteed delivery works, what it costs, and how to choose per workload. — [markdown](https://imqueue.org/blog/guaranteed-message-delivery-cost/index.md)
- [Redis as a message bus: patterns beyond pub/sub](https://imqueue.org/blog/redis-message-bus-patterns/) — 2026-06-22: Most people know Redis pub/sub and stop there. Redis has richer primitives — lists, blocking pops, and streams — that make it a capable message bus. Here's a tour, and where each fits. — [markdown](https://imqueue.org/blog/redis-message-bus-patterns/index.md)
- [gRPC vs message-queue RPC for internal Node.js services](https://imqueue.org/blog/grpc-vs-message-queue-rpc/) — 2026-06-09: gRPC is the default answer for typed RPC — and a great one, especially across languages. For an all-Node.js back-end, routing RPC through a queue trades some of gRPC's strengths for a lot less infrastructure. — [markdown](https://imqueue.org/blog/grpc-vs-message-queue-rpc/index.md)
- [Benchmarking @imqueue: throughput and delivery modes](https://imqueue.org/blog/benchmarking-imqueue-throughput/) — 2026-06-07: Real measured throughput for @imqueue's message queue — ~200k msg/sec unreliable, ~120k guaranteed on a 24-core box — what the delivery modes cost, and a reproducible harness to measure the figures that matter: yours. — [markdown](https://imqueue.org/blog/benchmarking-imqueue-throughput/index.md)

All articles: [https://imqueue.org/blog/](https://imqueue.org/blog/) — [markdown](https://imqueue.org/blog/index.md)

