https://github.com/sergio11/websocket_stomp_architecture
An approach to communication between microservices based on WebSocket / Stomp
https://github.com/sergio11/websocket_stomp_architecture
lombook mapstruct rabbitmq reactor-netty spring-boot spring-data-mongodb spring-messaging spring-websocket stomp stompwebsocket
Last synced: 2 months ago
JSON representation
An approach to communication between microservices based on WebSocket / Stomp
- Host: GitHub
- URL: https://github.com/sergio11/websocket_stomp_architecture
- Owner: sergio11
- Created: 2020-11-07T12:50:11.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-01-01T12:06:04.000Z (over 4 years ago)
- Last Synced: 2025-02-07T16:47:43.447Z (4 months ago)
- Topics: lombook, mapstruct, rabbitmq, reactor-netty, spring-boot, spring-data-mongodb, spring-messaging, spring-websocket, stomp, stompwebsocket
- Language: Java
- Homepage:
- Size: 467 KB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# An approach to communication between microservices based on WebSocket / Stomp
## Used technology
* Spring Boot 2.3.5 / Apache Maven 3.6.3.
* Spring Boot Starter Web.
* Spring Boot Starter Reactor Netty.
* Springdoc OpenApi UI.
* Mapstruct.
* Lombok.
* Spring Boot Starter Websocket.
* Spring Messaging.
* Spring Boot Starter Data MongoDB.## Running Applications as Docker containers.
### Rake Tasks
The available tasks are detailed below (rake --task)
| Task | Description |
| ------ | ------ |
| check_deployment_file_task | Check Deployment File |
| check_docker_task | Check Docker and Docker Compose Task |
| cleaning_environment_task | Cleaning Evironment Task |
| deploy | Deploys the Websocket STOMP architecture and laun... |
| login | Authenticating with existing credentials |
| start | Start Containers |
| status | Status Containers |
| stop | Stop Containers |
| undeploy | UnDeploy Websocket STOMP architecture |To start the platform make sure you have Ruby installed, go to the root directory of the project and run the `rake deploy` task, this task will carry out a series of preliminary checks, discard images and volumes that are no longer necessary and also proceed to download all the images and the initialization of the containers.
### Containers Ports
In this table you can view the ports assigned to each service to access to the Web tools or something else you can use to monitoring the flow.
| Container | Port |
| ------ | ------ |
| MongoDB Express | localhost:8082 |
| Rabbit MQ - Stomp Dashboard | localhost:8081 |
| Microservice Producer OpenAPI Swagger | localhost:8088 |## Some screenshots
As follow, I include some images that help us to understand the performance of each part of system
![]()
![]()
![]()
![]()
![]()