The gist
RabbitMQ
The gist | RabbitMQ | |
---|---|---|
26 | 92 | |
5,212 | 11,608 | |
3.1% | 1.0% | |
9.7 | 10.0 | |
3 days ago | 3 days ago | |
TypeScript | Starlark | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
The gist
-
Object Narrowing in Typescript with Graphile Worker
Graphile worker has been great for me because it's a library that works with Postgres that allows me to queue jobs and execute them on the server without adding too many additional layers of complexity for being able to accomplish async tasks. (I'm aware of how popular bull is, but I don't want to add another data-store only for async tasks)
-
Job Schedulers for Node: Bull or Agenda?
Bull is currently in maintenance mode, we are only fixing bugs. For new features check BullMQ, a modern rewritten implementation in Typescript. You are still very welcome to use Bull if it suits your needs, which is a safe, battle-tested library.
-
Are there any generally accepted standards for inter-microservice communication? Or does everyone just go it their own?
I use bullmq with node
-
Next.js background jobs
You might consider using a queue for processing the request. I've found bullMQ, which works with Redis, to be a nice developer experience.
-
What is a good background scheduler?
BullMQ is a pretty solid choice: https://github.com/taskforcesh/bullmq It's the successor of Bull: https://github.com/OptimalBits/bull
-
How to schedule tasks in a Node.js app 🕙
BullMQ
-
First time building microservice-based application
For Node.JS you can use something like BullMQ (https://github.com/taskforcesh/bullmq) and then dispatch jobs to the message queue with your worker handling the jobs. You can read about an example for Bull MQ here (https://deadsimplechat.com/blog/best-nodejs-schedulers/#2-bull)
-
Is my health check endpoint good enough?
bullmq seems like an open issue
-
Help implementing Heroku Data For Redis (+bull & throng) / `ioredis`
In order to try and mitigate the OOMs. I read the Background Jobs in Node.JS with Redis blog post and implemented Heroku Data For Redis with ioredis, BullMQ and Throng,
- BullMQ – fastest, most reliable, Redis-based distributed queue for Node
RabbitMQ
-
Building Llama as a Service (LaaS)
Although they did not make it into production, I experimented with the RabbitMQ message broker, Python (Django, Flask), Kubernetes + minikube, JWT, and NGINX. This was a hobby project, but I intended to learn about microservices along the way.
-
A Developer's Journal: Simplifying the Twelve-Factor App
Messaging/Queueing Systems (Amazon SQS, RabbitMQ, Beanstalkd)
-
FastStream: Python's framework for Efficient Message Queue Handling
Later, we discovered Propan, a library created by Nikita Pastukhov, which solved similar problems but for RabbitMQ. Recognizing the potential for collaboration, we joined forces with Nikita to build a unified library that could work seamlessly with both Kafka and RabbitMQ. And that's how FastStream came to be—a solution born out of the need for simplicity and efficiency in microservices development.
-
The Complete Microservices Guide
Inter-Service Communication: Middleware provides communication channels and protocols that enable microservices to communicate with each other. This can include message brokers like RabbitMQ, Apache Kafka, RPC frameworks like gRPC, or RESTful APIs.
-
Project Structure Review [.Net] [Console]
This is an implementation of pub/sub. The publisher is on a separate project. The message broker is Azure Service Bus. We use NServiceBus for code implementation. I use rabbitMQ broker for local tests. Nothing I can do about the tech stack. This is more of a high level single project structure review 😅
-
The Role of Queues in Building Efficient Distributed Applications
RabbitMQ is a robust and highly configurable open-source message broker that implements the Advanced Message Queuing Protocol (AMQP).
-
Should I chain calls in backend?
When using third-party services, especially within a "transaction", it's often a good idea to use a persistent Message Queue (MQ) system like RabbitMQ. Go through all their tutorials to get a really good understanding of how message queues work and how they can be used to solve your problem.
- Node still seems better than python after all this time for web server speed but..
-
Delayed events pattern, no more crons
The best technical solution to provide the event queues is to use a message-broker technology like RabbitMQ.
- RabbitMQ 3.12.0 Released
What are some alternatives?
bull - Premium Queue package for handling distributed jobs and messages in NodeJS.
NATS - High-Performance server for NATS.io, the cloud and edge native messaging system.
Bee-Queue - A simple, fast, robust job/task queue for Node.js, backed by Redis.
mosquitto - Eclipse Mosquitto - An open source MQTT broker
better-queue - Better Queue for NodeJS
MediatR - Simple, unambitious mediator implementation in .NET
RedisSMQ - A simple high-performance Redis message queue for Node.js.
nsq - A realtime distributed messaging platform
kue - Kue is a priority job queue backed by redis, built for node.js.
BeanstalkD - Beanstalk is a simple, fast work queue.
bree - Bree is a Node.js and JavaScript job task scheduler with worker threads, cron, Date, and human syntax. Built for @ladjs, @forwardemail, @spamscanner, @cabinjs.
rq - Simple job queues for Python