spring-petclinic-microservices | Distributed version of Spring Petclinic | Microservice library
kandi X-RAY | spring-petclinic-microservices Summary
kandi X-RAY | spring-petclinic-microservices Summary
This microservices branch was initially derived from AngularJS version to demonstrate how to split sample Spring application into microservices. 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 technology stack.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Entry point for the downloader
- Downloads a file from the given URL
- Returns an unmodifiable list of PetP Pet
- Returns the set of pets
- Update a new pet
- Saves a Pet request
- Adds a specialized variant
- Gets the specialties internal
- Gets owner details
- Returns the owner details
- Creates new Petit form
- Adds a Pet
- Returns a string representation of this object
- The main application
- Load balancer web client
- Gets the pet details
- List of PetTypes
- Start the service application
- The main entry point
- Update an owner
- Returns the number of all of the specialties
- The index
- Mapping for visits
- Create a new visit
- List of specialties
- Add visits to owner details
spring-petclinic-microservices Key Features
spring-petclinic-microservices Examples and Code Snippets
Community Discussions
Trending Discussions on spring-petclinic-microservices
QUESTION
In the process of learning AWS, I decided to try and deploy spring petclinic microservice app build on top of the spring cloud netflix
technology stack taken from here
https://github.com/spring-petclinic/spring-petclinic-microservices
But, the more I read about AWS I wonder if it makes sense. My understanding is that AWS offers most of the services like discover, gateway, load balancing natively. Is this correct?
If so, how would one go about deploying spring petclinic to AWS in a meaningful way?
...ANSWER
Answered 2021-Sep-09 at 09:39Your question totally makes sense.
Netflix OSS was developed in a period of time where Container orchestration's maturity was not the one we know nowadays. Today, with Kubernetes, services like EKS (for AWS, Kubernetes Engine for GCP, AKS for Azure) and a lot of new services and requirements, we have a lot more of stuff to deal with.
For instance, the first problem that the Netflix OSS solves, the Service Discovery, requires Eureka server. If we think at a IaaS world, it totally makes sense: we need a block, in our architecture, that knows about all the services in our system. If we think to a system that uses containers and orchestrators, such as Kubernetes, we realize that K8S already offers funcionalities like the one that Eureka offers. With this in mind, it results clear that adding a pod in our K8S cluster just to serve Eureka server would be a total waste of resources. We can then rely on the underlying platform.
With this consideration (and a lot more), Spring Cloud project has evolved, becoming more of a standardization incubator, with a lot of implementations. I'll give you some examples and I'll also give you a complete list of Netflix OSS equivalents:
- Eureka, for Service Discovery. We can use Kubernetes's API Server for this, so we can switch to Spring Cloud Kubernetes
- Hystrix, the Circuit Breaker. Spring Cloud Circuit Breaker is the new project for this. It is an abstraction, and can uses some implementations, such as Hystrix itself, but also Resilience4J, that I kindly suggest, or Sentinel
- Feign, as REST Client. There is a new implementation, outside the Netflix stack: Spring Cloud OpenFeign
- Ribbon, for a client side load balancing. You can switch to Spring Cloud LoadBalancer
- Config. This is pretty nice, because we have the Spring Cloud Config project, but if we add the Spring Cloud Kubernetes dependency we can also rely on K8S's ConfigMaps and Secrets for this, and Spring Cloud Config automatically uses them
- Zuul, the router and gateway. You can migrate to Spring Cloud Gateway, and it is already integrated with all the new projects
--EDIT--
Forgot to mention: when you are using a PaaS, you can stick to a lot of services. An example could be AWS API Gateway. Have a look at this page for a full list of Spring Cloud project. A lot of them adds support and integration to basically almost every PaaS.
QUESTION
I'm building a application with JAVA 11, maven, spring. It has a root pom to organize all child modules as seen on: https://github.com/erickmob/spring-petclinic-microservices
Here's the project structure:
I've tried to create on the root project this docker-compose.yml:
...ANSWER
Answered 2020-Jul-26 at 16:28This is not really Docker, but Maven.
You are building your config-server/
project only (and here is when Docker is in the middle) but the "context" sent to Docker is just what's inside config-server/
and not the entire project. To build config-server/
you need the entire project because you are referring/using a parent POM.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install spring-petclinic-microservices
You can use spring-petclinic-microservices like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the spring-petclinic-microservices component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page