Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adriannovegil/spring-petclinic-microservices-sre
spring-petclinic-microservices-sre
https://github.com/adriannovegil/spring-petclinic-microservices-sre
Last synced: 24 days ago
JSON representation
spring-petclinic-microservices-sre
- Host: GitHub
- URL: https://github.com/adriannovegil/spring-petclinic-microservices-sre
- Owner: adriannovegil
- License: apache-2.0
- Created: 2021-10-22T11:10:28.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-07-07T21:39:08.000Z (almost 2 years ago)
- Last Synced: 2024-02-20T18:58:31.118Z (4 months ago)
- Language: Java
- Size: 2.14 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: code-of-conduct.md
Lists
- awesome-observability - My Spring PetClinic Sample Application - My fork of the official repository. (13. Examples and Sandbox's / Anomalies Detection)
- awesome-observability - My Spring PetClinic Sample Application - My fork of the official repository. (13. Examples and Sandbox's / Anomalies Detection)
README
# Distributed version of the Spring PetClinic Sample Application built with Spring Cloud
*Based on the original [Spring Petclinic Microservices](https://github.com/spring-petclinic/spring-petclinic-microservices) repository and the [Spring Petclinic Microservices CLoud Version](https://github.com/spring-petclinic/spring-petclinic-cloud).*
This microservices branch was initially derived from [AngularJS version](https://github.com/spring-petclinic/spring-petclinic-angular1) to demonstrate how to split sample Spring application into [microservices](http://www.martinfowler.com/articles/microservices.html). To achieve that goal, we use Spring Cloud Gateway, Spring Cloud Circuit Breaker, Spring Cloud Config, Spring Cloud Sleuth, Resilience4j, Micrometer and the Eureka Service Discovery from the [Spring Cloud Netflix](https://github.com/spring-cloud/spring-cloud-netflix) technology stack.
## Starting services locally
Every microservice is a Spring Boot application and can be started locally.
Please note that supporting services (__Config and Discovery Server__) must be started before any other application (Customers, Vets, Visits and API).
Startup of __Admin server__ is optional.
### Starting Services Locally without Docker
Check the [local.md](./doc/local.md) file in the [doc](./doc) folder
### Starting Services Locally with Docker
Check the [local-docker.md](./doc/local-docker.md) file in the [doc](./doc) folder
### Starting Services Locally with Docker & Docker Compose
Check the [local-compose.md](./doc/local-compose.md) file in the [doc](./doc) folder
### Starting Services Locally with Kubernetes (Minikube)
Check the [local-k8s.md](./doc/local-k8s.md) file in the [doc](./doc) folder
## Database configuration
Check the [database.md](./doc/database.md) file in the [doc](./doc) folder
## Load Testing
A JMeter load testing script is available to stress the application and generate metrics: [petclinic_test_plan.jmx](./jmeter/petclinic_test_plan.jmx)
## Metrics
Check the [metrics.md](./doc/metrics.md) file in the [doc](./doc) folder
## Tracing
Check the [tracing.md](./doc/tracing.md) file in the [doc](./doc) folder
## Logs
Check the [logs.md](./doc/logs.md) file in the [doc](./doc) folder
## Chaos
Check the [chaos.md](./doc/chaos.md) file in the [doc](./doc) folder
## References
* https://github.com/spring-petclinic/spring-petclinic-microservices
* https://github.com/spring-petclinic/spring-petclinic-rest
* https://github.com/gantsign/spring-petclinic-openapi/tree/master/src/main/java/org/springframework/samples/petclinic/web/api## Contributing
For a complete guide to contributing to the project, see the [Contribution Guide](CONTRIBUTING.md).
We welcome contributions of any kind including documentation, organization, tutorials, blog posts, bug reports, issues, feature requests, feature implementations, pull requests, answering questions on the forum, helping to manage issues, etc.
The project community and maintainers are very active and helpful, and the project benefits greatly from this activity.
### Reporting Issues
If you believe you have found a defect in the project or its documentation, use the repository issue tracker to report the problem to the project maintainers.
If you're not sure if it's a bug or not, start by asking in the discussion forum. When reporting the issue, please provide the version.
### Submitting Patches
The project welcomes all contributors and contributions regardless of skill or experience level.
If you are interested in helping with the project, we will help you with your contribution.
We want to create the best possible tool for our development teams and the best contribution experience for our developers, we have a set of guidelines which ensure that all contributions are acceptable.
The guidelines are not intended as a filter or barrier to participation. If you are unfamiliar with the contribution process, the team will help you and teach you how to bring your contribution in accordance with the guidelines.
For a complete guide to contributing, see the [Contribution Guide](CONTRIBUTING.md).
## Code of Conduct
See the [code-of-conduct.md](./code-of-conduct.md) file
## License
See the [LICENSE](./LICENSE) file