Microservices app using Spring Cloud and Spring AI
Top 23.4% on sourcepulse
This project provides a distributed version of the Spring PetClinic sample application, refactored into microservices using Spring Cloud and Spring AI. It's designed for developers and architects looking to understand and implement microservice patterns, service discovery, distributed configuration, and integrate AI chatbots within a familiar Java ecosystem. The primary benefit is a practical, runnable example of a complex distributed system.
How It Works
The application is composed of several Spring Boot microservices (Customers, Vets, Visits, GenAI) communicating via REST APIs. It leverages Spring Cloud technologies for essential microservice capabilities: Eureka for service discovery, Spring Cloud Gateway as an API gateway, Spring Cloud Config for centralized configuration, and Resilience4j for circuit breaking. The GenAI service integrates with OpenAI or Azure OpenAI for natural language interaction with the application data.
Quick Start & Requirements
http://localhost:8761
)../mvnw clean install -P buildDocker
(supports Podman via -Dcontainer.executable=podman
and custom platforms via -Dcontainer.platform
). Then run with docker compose up
or podman-compose up
.Highlighted Details
Maintenance & Community
The project is part of the spring-petclinic
GitHub organization, indicating community involvement and potential support from the Spring ecosystem. The issue tracker is the preferred channel for bug reports and feature requests.
Licensing & Compatibility
The project appears to be licensed under the Apache License 2.0, which is permissive and generally compatible with commercial use and closed-source linking.
Limitations & Caveats
Initial startup of the API Gateway might experience timeouts as it syncs with the service registry. The GenAI service requires external API keys for full functionality, though a demo key is available for limited testing.
3 months ago
Inactive