https://github.com/c-kiplimo/microservices-rabbitmq-kubernetes
This is a spring boot microservice to demontrate the functioning of rabbitmq and how to deploy microservice application
https://github.com/c-kiplimo/microservices-rabbitmq-kubernetes
config-server docker eureka gateway kubernetes postgresql rabbitmq spring-boot zipkin
Last synced: 3 months ago
JSON representation
This is a spring boot microservice to demontrate the functioning of rabbitmq and how to deploy microservice application
- Host: GitHub
- URL: https://github.com/c-kiplimo/microservices-rabbitmq-kubernetes
- Owner: c-kiplimo
- Created: 2024-03-13T22:44:21.000Z (about 1 year ago)
- Default Branch: develop
- Last Pushed: 2024-05-04T18:52:21.000Z (about 1 year ago)
- Last Synced: 2025-01-12T11:46:16.677Z (4 months ago)
- Topics: config-server, docker, eureka, gateway, kubernetes, postgresql, rabbitmq, spring-boot, zipkin
- Language: Java
- Homepage:
- Size: 171 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Spring Boot Microservices
+ This application is designed to showcase the implementation of microservices architecture using Spring Boot. It utilizes a range of tools and technologies to ensure reliability, scalability, and efficient management.# Tools Utilized
+ RabbitMQ: A reliable and mature messaging and streaming broker facilitating communication between microservices.
+ Zipkin: A distributed tracing system used for monitoring and troubleshooting requests across the microservices architecture.
+ PostgreSQL: A relational database utilized for structured data persistence.
+ Kubernetes: A container orchestration platform employed for deployment, scaling, and management of containerized applications.
+ Docker: Utilized for building container images for various microservices.# Components
+ Review, Job, and Company Microservices: Each microservice encapsulates specific business functionalities and communicates with others either through messaging or direct API calls.
+ API Gateway: Responsible for load balancing and presenting the entire application as a single entity to external clients.
+ Config Server: Enables centralized management of configuration properties, facilitating easy configuration changes across microservices.
+ Service Registry: Enables service discovery within the microservices architecture, ensuring seamless communication between services.# Key Learnings
+ Throughout the development of this application, several key learnings were acquired:+ Feign Clients: Utilization of Feign clients, a declarative web client, to reduce boilerplate code typically associated with using Rest Templates for inter-service communication.
- These tools and practices enable the application to achieve modularity, scalability, and resilience, making it suitable for building complex, distributed systems within a microservices architecture.