{"id":16179214,"url":"https://github.com/marcopaga/spring-cloud-netflix-demo","last_synced_at":"2025-03-19T01:30:55.151Z","repository":{"id":141714185,"uuid":"98192938","full_name":"marcopaga/spring-cloud-netflix-demo","owner":"marcopaga","description":"Spring cloud Demo Project with Zuul, Eureka, Config Server, Ribbon, Sleuth \u0026 Zipkin","archived":false,"fork":false,"pushed_at":"2023-12-15T05:19:06.000Z","size":173,"stargazers_count":34,"open_issues_count":1,"forks_count":19,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-02-28T13:46:51.859Z","etag":null,"topics":["demo","docker","docker-compose","docker-compse","eureka","helm-chart","kubernetes","kubernetes-cluster","kubernetes-deployment","netflix","ribbon","sleuth","spring-boot","spring-cloud","zipkin","zuul"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcopaga.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-24T13:20:04.000Z","updated_at":"2023-11-07T12:46:10.000Z","dependencies_parsed_at":"2023-12-15T06:31:11.493Z","dependency_job_id":"cc328459-53c3-4ff0-9475-132b24aa2afc","html_url":"https://github.com/marcopaga/spring-cloud-netflix-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcopaga%2Fspring-cloud-netflix-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcopaga%2Fspring-cloud-netflix-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcopaga%2Fspring-cloud-netflix-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcopaga%2Fspring-cloud-netflix-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcopaga","download_url":"https://codeload.github.com/marcopaga/spring-cloud-netflix-demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243958082,"owners_count":20374792,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["demo","docker","docker-compose","docker-compse","eureka","helm-chart","kubernetes","kubernetes-cluster","kubernetes-deployment","netflix","ribbon","sleuth","spring-boot","spring-cloud","zipkin","zuul"],"created_at":"2024-10-10T05:26:00.683Z","updated_at":"2025-03-19T01:30:54.697Z","avatar_url":"https://github.com/marcopaga.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spring Cloud Demo\n\nThis is a spring cloud Demo Project with Zuul, Eureka, Ribbon, Sleuth \u0026amp; Zipkin. \n\n# Intro\n\nWhen you are migrating to a microservice environment you are getting a lot of beneftis and on the other side you need to tackle new challenges.\n\n- How can you find all service instances that are up and running?\n- What if a service won't respond? How do you handle load balancing between the available instances?\n- Services won't respond successfully or even throw errors. Can you provide a sane fallback for the user?\n- How to debug and analyze issues in your distributed production enivornment? Why was the call so slow? Where did the error happen? \n\n![System diagram](Spring_cloud.png)\n\n# Deployment\n\nYou can start the application locally with [docker-compose](docker-compose.yml).\nFor the deployment to kubernetes you can find two options. The first one is a [plain](provision/kubernetes) deployment of the manifests. The more advanced way is using [helm](provision/helm).\n\nUsing [docker-compose](docker-compose.yml) or [kubernetes](provision/kubernetes).\n\n# Components\n\n## Infrastructure\n\n### [configserver](configserver/README.md)\n\nThe configuration server uses the [spring-cloud-netflix-demo-config](https://github.com/marcopaga/spring-cloud-netflix-demo-config/)-git repository.\nNow you can cahnge the configuration in the git repository and the properties will be forwarded to the running instances. You need to make the context refreshable via @RefreshScope.\n\n### [eureka](eureka/README.md)\n\nThis is the distributed service directory. All services will register with eureka.\n\n### [edgeservice](edgeservice/README.md)\n\nThis service is using zuul as the gateway to our microservices. All requests to our application pass this central instance.\nHere you can process the requests in multiple ways.\nBe advised that zuul is deprecated and will be replaced by [Spring cloud gateway](http://cloud.spring.io/spring-cloud-gateway/) which will be based on Project Reactor.\n\n## Business Services\n\n### [backend](backend/README.md)\n\nThis is a simple demo application which can perform a simple calculation. The operation is available via a REST interface.\n\n### [frontend](frontend/README.md)\n\nThis application will use the backend to perform a calculation. The backend will be called with a simple RestTemplate.\nThe call is carried out with ribbon which uses eureka to discover the backend insances.\n\n# Distributed Tracing\n\nAll components include [Sleuth](http://cloud.spring.io/spring-cloud-static/spring-cloud-sleuth/1.2.5.RELEASE/single/spring-cloud-sleuth.html#_terminology) that provides tracing information for all requests. The meta data will be transferred between the services.\nThe demo project uses [Zipkin](http://zipkin.io/) to show the tracing information.\nIf you are using the ELK Stack you are also covered. Have a look [here](http://cloud.spring.io/spring-cloud-static/spring-cloud-sleuth/1.2.5.RELEASE/single/spring-cloud-sleuth.html#_log_correlation) to find the details. \n\n# Running\n\nPrepare the Spring Boot Apps with Maven. In order to start the apps you need create the jar-Files.\n\n\u003e mvn clean install \n\nStart the applications with Docker Compose.\n\n\u003e docker-compose up -d\n\nHave a look at the [configuration](docker-compose.yml).\n\n# Using\n\nYou need to give the whole stack some time to find the available services in eureka.\n\n## Sample call:\n\n[localhost:8080/frontend/](http://localhost:8080/frontend/)\n\n## Zipkin:\n\n[localhost:9411](http://localhost:9411/)\n\n## Eureka:\n\n[localhost:8761](http://localhost:8761/)\n\n## Config Server:\n\n[localhost:8888](http://localhost:8888/)\n\n# License\n\n[![License: CC BY 4.0](https://licensebuttons.net/l/by/4.0/80x15.png)](https://creativecommons.org/licenses/by/4.0/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcopaga%2Fspring-cloud-netflix-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcopaga%2Fspring-cloud-netflix-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcopaga%2Fspring-cloud-netflix-demo/lists"}