An open API service indexing awesome lists of open source software.

https://github.com/than-dev/kafka-rabbitmq

A micro-services integration using Apache Kafka, RabbitMQ and nodejs, all communications are stable and already to implement your application logic!
https://github.com/than-dev/kafka-rabbitmq

api backend docker docker-compose full-cycle-development kafka microservices nodejs rabbitmq shell-script ubuntu

Last synced: 2 months ago
JSON representation

A micro-services integration using Apache Kafka, RabbitMQ and nodejs, all communications are stable and already to implement your application logic!

Awesome Lists containing this project

README

          

Microservices base

[![License](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE)

---

## 📝 Table of Contents

- [About](#about)
- [Getting Started](#getting_started)
- [Usage](#usage)
- [Built Using](#built_using)
- [Authors](#author)


## 🧐 About

* Purpose of this project was build a micro-services integration to learn use KAFKA and RabbitMQ with nodeJS, user do request to theoretically get a certificate, kafka producer sends a message to kafka consumer, it generate the certified and return it, kafka consumer also send a message to RabbitMQ queue with certified information which is consumed and a email theoretically is sended warning user his certificate is ready!






## 🏁 Getting Started

### Installing
```
git clone https://github.com/NathanCotrim/Kafka-RabbitmQ-NodeJS.git
```

or - (GitHub CLI)

```
gh repo clone NathanCotrim/Kafka-RabbitmQ-NodeJS
```

## Unix OS:
if you have not one of these dependencies: nodeJS, docker and docker-compose, execute install.sh shell script:
```
sh _install.sh
```


## 🎈 Usage

### Running
with all dependencies already, execute _run.sh shell script:
```
sh _run.sh
```
All Micro-Services will execute in background, to stop they just press C^!


This command up all containers, to stop they execute:
```
sudo docker-compose down
```

and rebuilt with:
```
sudo docker-compose up -d
```






### To do the request:
```
curl http://localhost:3000/certificate -X POST
```





### You can manage KAFKA and RabbitMQ at:


#### RabbitMQ:
```
http://localhost:15672/
```


#### Username = admin
#### Password = admin






#### KAFKA:

```
http://localhost:19000/
```






#### OBS: After you run, a file named nohup.out will be created at api folder, in there all api logs will appear!
Project logo






#### If RabbitMQ queue do not auto create, you can do it at 'http://localhost:15672/':
Project logo


Project logo


Project logo






## ⛏️ Built Using

- [NodeJs](https://nodejs.org/en/) - Server Environment
- [Docker](https://www.docker.com/) - Containers
- [Docker-Compose](https://docs.docker.com/compose/) - Containers-Group


## ✍️ Author - Nathan Cotrim - MIT License