{"id":19792660,"url":"https://github.com/making/cloud-native-workshop","last_synced_at":"2025-07-15T16:40:02.927Z","repository":{"id":136908531,"uuid":"56617034","full_name":"making/cloud-native-workshop","owner":"making","description":"1 day workshop to learn Spring Boot + Spring Cloud + Pivotal Cloud Foundry","archived":false,"fork":false,"pushed_at":"2017-06-20T13:17:08.000Z","size":29,"stargazers_count":37,"open_issues_count":7,"forks_count":12,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-05-01T02:38:43.164Z","etag":null,"topics":["cloud-foundry","spring-boot","spring-cloud","spring-cloud-netflix","spring-cloud-sleuth","zipkin"],"latest_commit_sha":null,"homepage":"","language":null,"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/making.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,"zenodo":null}},"created_at":"2016-04-19T17:22:12.000Z","updated_at":"2022-09-30T00:47:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"ee06a1f5-ea2b-49ff-9165-10e605ca9aa4","html_url":"https://github.com/making/cloud-native-workshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/making/cloud-native-workshop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/making%2Fcloud-native-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/making%2Fcloud-native-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/making%2Fcloud-native-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/making%2Fcloud-native-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/making","download_url":"https://codeload.github.com/making/cloud-native-workshop/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/making%2Fcloud-native-workshop/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265445630,"owners_count":23766531,"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":["cloud-foundry","spring-boot","spring-cloud","spring-cloud-netflix","spring-cloud-sleuth","zipkin"],"created_at":"2024-11-12T07:07:36.230Z","updated_at":"2025-07-15T16:40:02.919Z","avatar_url":"https://github.com/making.png","language":null,"readme":"# cloud-native-workshop\n\n本ワークショップでは「Metflix」というダミー動画配信サービスライクなシステムをマイクロサービスアーキテクチャで構築しSpring BootとSpring Cloudの使い方を学びます。またこのマイクロサービスをCloud Foundryにデプロイする方法を学びます。\n\n今回作成するアプリケーションは以下のような一見普通のWebアプリケーションですが、\n\n![image](https://qiita-image-store.s3.amazonaws.com/0/1852/4c6b6ab4-875c-2017-d6b9-81c2aaed5053.png)\n\nフロントエンドのUIからMembership Service(会員サービス)とRecommendations Service(リコメンデーションサービス)が呼び出されています。\n\n![image](https://qiita-image-store.s3.amazonaws.com/0/1852/a987c8a0-8d97-1f5b-12e5-c07bebf8fec7.png)\n\nMembership ServiceとRecommendations ServiceはREST APIであり、以下のような呼び出し関係になっています。\n\n![image](https://qiita-image-store.s3.amazonaws.com/0/1852/2288f2a3-08e3-949f-89bd-4ec33e58b963.png)\n\nこのマイクロサービスアーキテクチャを支えるために、\n\n* Config Service\n* Service Registry\n* Circuit Breaker\n\nを使用します。\n\n![image](https://qiita-image-store.s3.amazonaws.com/0/1852/c30432b0-2a63-fdd6-71ba-d8071cd55c76.png)\n\nこのシステムをSpring BootとSpring Cloud (+ Netflix OSS)で作成します。\n\n個々のサービスをSpring Bootで開発し、Config Service、Service Registry、Circuit BreakerをSpring Cloudで実現でします。\n\n![image](https://qiita-image-store.s3.amazonaws.com/0/1852/ffa8c4ce-6470-c116-1eee-1e92c95b3019.png)\n\n\nなお、本サンプルコード作成にあたり、SpringOne2GX 2015で発表された「[Spring Cloud at Netflix](https://github.com/netflix-spring-one)」の内容を利用しています。\n\n### Schedule\n\n* [事前準備](prerequisite.md)\n* AM 10:00 - AM 10:50 Introduction\n* AM 10:50 - AM 11:00 Break\n* AM 11:00 - AM 12:00 [Spring Boot](spring-boot.md)\n* AM 12:00 - PM 1:00 Lunch\n* PM 1:00 - PM 1:30 [Config Server](config-server.md)\n* PM 1:30 - PM 2:00 [Service Registry](service-registry.md)\n* PM 2:00 - PM 2:30 [Circuit Breaker](circuit-breaker.md)\n* PM 2:30 - PM 2:45 Break\n* PM 2:45 - PM 3:45 [Deploy to Cloud Foundry](cloud-foundry.md)\n* PM 3:45 - PM 4:00 Break\n* PM 4:00 - PM 5:00 [Spring Cloud Services](spring-cloud-services.md)\n\nExtra Chapter\n* [Distributed Tracing](distributed-tracing.md)\n\n### TODO\n\n- [ ] Support Intelligent Routing (Zuul)\n- [x] Support Distibuted Tracing (Spring Cloud Sleuth + Zipkin)\n- [ ] Support OAuth2 (Spring Cloud Security)\n- [ ] Support CI/CD (Concourse CI)\n\n\n### 利用規約\n\n無断で本ドキュメントの一部または全部を改変したり、本ドキュメントを用いた二次的著作物を作成することを禁止します。ただし、ドキュメント修正のためのPull Requestは大歓迎です。\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaking%2Fcloud-native-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaking%2Fcloud-native-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaking%2Fcloud-native-workshop/lists"}