{"id":20305218,"url":"https://github.com/nelsonwenner/rabbitmq-example","last_synced_at":"2026-04-09T08:35:38.607Z","repository":{"id":111914382,"uuid":"258046647","full_name":"nelsonwenner/rabbitmq-example","owner":"nelsonwenner","description":":package: Example of using messages to communicate between systems based on microservices using queues.","archived":false,"fork":false,"pushed_at":"2020-04-23T21:22:54.000Z","size":11,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-04T07:23:18.487Z","etag":null,"topics":["docker","docker-compose","microservice","microservices","microservices-architecture","node","nodejs","rabbit","rabbit-mq","rabbitmq","rabbitmq-consumer","rabbitmq-producer","rabbitmq-server"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nelsonwenner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-22T23:48:06.000Z","updated_at":"2024-12-08T09:00:44.000Z","dependencies_parsed_at":"2023-04-11T01:17:36.660Z","dependency_job_id":null,"html_url":"https://github.com/nelsonwenner/rabbitmq-example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nelsonwenner/rabbitmq-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nelsonwenner%2Frabbitmq-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nelsonwenner%2Frabbitmq-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nelsonwenner%2Frabbitmq-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nelsonwenner%2Frabbitmq-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nelsonwenner","download_url":"https://codeload.github.com/nelsonwenner/rabbitmq-example/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nelsonwenner%2Frabbitmq-example/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267962710,"owners_count":24172736,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","microservice","microservices","microservices-architecture","node","nodejs","rabbit","rabbit-mq","rabbitmq","rabbitmq-consumer","rabbitmq-producer","rabbitmq-server"],"created_at":"2024-11-14T17:07:43.393Z","updated_at":"2026-04-09T08:35:33.561Z","avatar_url":"https://github.com/nelsonwenner.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n    RABBITMQ - SYSTEM MENSSAGING\n\u003c/h1\u003e\n\n#### Example of using messages to communicate between systems based on microservices using queues.\n\n### Prerequisites\n* Docker Compose version (1.25.4)\n* Docker version (19.03.8)\n* Node version (12.16.1)\n* Npm version (6.14.4)\n\n## Getting Started\n1. Fork this repository and clone on your machine\n2. Change the directory to `rabbitmq-nodejs-messaging-example` where you cloned it;\n3. At the terminal, run:\n\n```bash\n/* Install dependencies from consumer */\n\n$ cd consumer\n\n$ npm install\n\n/* Install dependencies from producer */\n\n$ cd producer\n\n$ npm install\n```\n\n4. Run docker. In the directory `rabbitmq-nodejs-messaging-example` execute.\n\n```bash\n/* Up docker */\n\n$ docker-compose up -d\n\n/* Down docker */\n\n$ docker-compose down\n```\n\n5. Open robbitMQ: the host [localhost:15672](http://localhost:15672) and start using it. Credentials `user: rabbitmq password: rabbitmq`\n\n6. Execute project on consumer \u0026 producer.\n\n```bash\n/* execute on directory consumer */\n\n$ npm run start\n\n/* execute on directory producer */\n\n$ npm run start\n```\n## How it works ?\n\n\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/40550247/80135937-5f053280-8577-11ea-9810-196088c5ab66.png\"/\u003e\n\u003c/h1\u003e\n\n- **Producer**\n    * The guy who will send the message, data.\n\n- **Exchange**\n    * Responsible for receiving these messages, and deciding which queue this message will be sent to. Remembering when you work with applications, you don't work with just one queue, you can have queues of everything that is different and types, and several exchanges.\n\n- **Queue**\n    * The queue stores messages and dispatches them.\n\n- **Consumer**\n    * The consumer has a process that listens to everything that arrives in the queue. In this case, he removes the messages from the queue, and gives a `ACK: acknowledge`.\n\n---\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnelsonwenner%2Frabbitmq-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnelsonwenner%2Frabbitmq-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnelsonwenner%2Frabbitmq-example/lists"}