RabbitMQ
Docker Compose
Our great sponsors
RabbitMQ | Docker Compose | |
---|---|---|
92 | 384 | |
11,590 | 32,312 | |
1.8% | 1.2% | |
10.0 | 9.6 | |
3 days ago | 7 days ago | |
Starlark | Go | |
GNU General Public License v3.0 or later | Apache License 2.0 |
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.
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
Docker Compose
-
Docker compose, orchestrating and automating services
“Compose simplifies the control of your entire application stack, making it easy to manage services, networks, and volumes in a single, comprehensible YAML configuration file. Then, with a single command, you create and start all the services from your configuration file.” - Docker documentation
-
Hosting a simple docker-compose app with Nginx and generate a SSL with certbot on digitalocean droplet
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh # Install docker compose sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # Apply executable permissions to the binary sudo chmod +x /usr/local/bin/docker-compose # Run Project docker-compose up -d
-
One Minute: Compose
Docker,
-
How to Set Up a Docker Container
This foundation now opens the door to even more powerful concepts. You can explore more advanced concepts such as container networking, streamlining the management of complex applications with Docker Compose, and how to make your application data persistent using volumes.
-
Use same Dockerfile for Dev & Production
In many projects that are containerized, especially in cases where development is also done locally with docker-compose, teams often have two Dockerfiles, 1 for Development, the other for Production. If you happen to have multiple environments like pre-prod, staging and so on, some teams could have different Dockerfiles for these environments.
-
How to Dockerise a NodeJS - TypeScript API || A Comprehensive Guide from Environment Setup to Deployment with a CI/CD Pipeline
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
-
Deploy a MongoDB Cluster With Docker Compose
You can also use Docker Compose to deploy the cluster, without having to write all the previous commands.
-
Build and Deploy a ReactJS App to AWS EC2 with Docker, NGINX, and Automate with GitHub Actions.
[ec2-user]$ sudo yum update -y [ec2-user]$ sudo yum install -y docker [ec2-user]$ sudo service docker start [ec2-user]$ sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose [ec2-user]$ sudo chmod +x /usr/local/bin/docker-compose [ec2-user]$ docker --version Docker version 20.10.23, build 7155243 [ec2-user]$ docker-compose --version Docker Compose version v2.18.1
-
MongoDB on Your Local Machine Using Docker: A Step-by-Step Guide
Docker Compose Documentation
-
Docker - Setup a local JS and Python Development environment (Part 2)
groupadd -g 997 docker gpasswd -a jenkins docker curl -L https://github.com/docker/compose/releases/tag/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose #confirm the docker-compose is installed docker-compose version
What are some alternatives?
NATS - High-Performance server for NATS.io, the cloud and edge native messaging system.
supervisor - Supervisor process control system for Unix (supervisord)
mosquitto - Eclipse Mosquitto - An open source MQTT broker
LibreNMS-docker - LibreNMS Docker image
MediatR - Simple, unambitious mediator implementation in .NET
terraform - Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
nsq - A realtime distributed messaging platform
Portainer - Making Docker and Kubernetes management easy.
BeanstalkD - Beanstalk is a simple, fast work queue.
Cloud-Init - unofficial mirror of Ubuntu's cloud-init
rq - Simple job queues for Python
k3s - Lightweight Kubernetes