Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/rajabovilyas/microservices-which-is-better

This project was created purely for informational purposes to determine which microservice communication is best to use.
https://github.com/rajabovilyas/microservices-which-is-better

docker grpc kafka mqtt nats nestjs nodejs rabbitmq redis tcp typescript

Last synced: 10 days ago
JSON representation

This project was created purely for informational purposes to determine which microservice communication is best to use.

Awesome Lists containing this project

README

        

# Which microservice is better to use?

This project was created purely for informational purposes to determine which microservice communication is best to use and when.

## Run Locally

Clone the project

```bash
git clone https://github.com/RajabovIlyas/microservices-which-is-better.git
```

Go to the project directory

```bash
cd microservices-which-is-better
```

Start servers

```bash
docker-compose up --build
```

## Microservices

### TCP

| Stat | Avg | Stdev | Max | Max |
|----------------|----------|----------|--------|--------|
| Latency | 2.67 ms | 5.58 ms | 241 ms | |
| Req/Sec | 3,158.28 | 858.86 | | 1,213 |
| Bytes/Sec | 884 kB | 241 kB | | 340 kB |

### gRPC

| Stat | Avg | Stdev | Max | Max |
|----------------|-----------|----------|--------|--------|
| Latency | 4.45 ms | 4.19 ms | 165 ms | |
| Req/Sec | 2,018.5 | 440.78 | | 1,394 |
| Bytes/Sec | 571 kB | 125 kB | | 395 kB |

### Kafka

| Stat | Avg | Stdev | Max | Min |
|----------------|----------|-----------|---------|---------|
| Latency | 14.71 ms | 5.85 ms | 58 ms | |
| Req/Sec | 658.4 | 31.28 | | 605 |
| Bytes/Sec | 184 kB | 8.76 kB | | 169 kB |

### MQTT

| Stat | Avg | Stdev | Max | Min |
|----------------|-----------|-----------|--------|--------|
| Latency | 4.01 ms | 5.24 ms | 190 ms | |
| Req/Sec | 2,215.81 | 642.81 | | 979 |
| Bytes/Sec | 620 kB | 180 kB | | 274 kB |

### NATS

| Stat | Avg | Stdev | Max | Min |
|----------------|----------|----------|-------|---------|
| Latency | 1.63 ms | 1.97 ms | 96 ms | |
| Req/Sec | 461.9 | 66.88 | | 341 |
| Bytes/Sec | 129 kB | 18.7 kB | | 95.5 kB |

### RabbitMQ

| Stat | Avg | Stdev | Max | Min |
|----------------|----------|----------|-------|--------|
| Latency | 5.47 ms | 1.93 ms | 27 ms | |
| Req/Sec | 1,676.5 | 159.47 | | 1,311 |
| Bytes/Sec | 469 kB | 44.7 kB | | 367 kB |

### Redis

| Stat | Avg | Stdev | Max | Min |
|----------------|----------|----------|-------|-----------|
| Latency | 4.49 ms | 2.77 ms | 47 ms | |
| Req/Sec | 2,011.2 | 489.59 | | 1,084 |
| Bytes/Sec | 563 kB | 137 kB | | 304 kB |


Nest.js
Node.js
TypeScript
Docker
gRPC
kafka
RabbitMQ
redis
MQTT

## Authors

- [Raj Ilyas](https://github.com/rajabovilyas)