์คํ๋ง ํด๋ผ์ฐ๋ (Spring Cloud)
โฃ ๋ถ์ฐ/๋ฒ์ ๊ด๋ฆฌ, ์๋น์ค ๋ฑ๋ก ๋ฐ ๊ฒ์ ๊ฐ๋ฅ, ๋ผ์ฐํ
, ์๋น์ค๊ฐ ํธ์ถ, ๋ถํ๋ถ์ฐ, ํ๋ก์ฐจ๋จ๊ธฐ, ๋ถ์ฐ๋ฉ์ธ์ง ๋ฑ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ ๋๊ตฌ์ด๋ค. โฃ https://spring.io/projects/spring-cloud
Spring Cloud
Spring Cloud is an umbrella project consisting of independent projects with, in principle, different release cadences. To manage the portfolio a BOM (Bill of Materials) is published with a curated set of dependencies on the individual project. Go here to r
spring.io
โฃ ์คํ๋ง๋ถํธ ๋ฒ์ , ์คํ๋งํด๋ผ์ฐ๋ ๋ฒ์ ์ ์ํด์ ์ฌ์ฉ ํ์!
12-ํฉํฐ ์ฑ(The Twelve-Factor App)
โฃ ํ์ฅ ๊ฐ๋ฅํ๊ณ ์ฝ๊ฒ ํด๋ผ์ฐ๋ ํ๋ซํผ์ ๋ฐฐํฌํ ์ ์์. โฃ ์ง์ ๋ฐฐํฌ ํ๋ก์ธ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋๋ Software as a Service(SaaS) ๋ฅผ ๊ฐ๋ฐํ๋ ๋ฐฉ๋ฒ๋ก . โฃ ์คํ๋ง ๋ถํธ & ์คํ๋ง ํด๋ผ์ฐ๋๋ 12-ํฉํฐ๋ฃฐ์ ๋ถํฉํ๋ ์ ํ๋ฆฌ์ผ์ด์
๋ง๋๋ ๊ธฐ๋ฅ & ์์ ์ ๊ณต โฃ https://12factor.net/ko/
The Twelve-Factor App (ํ๊ตญ์ด)
๋ฐฐ๊ฒฝ ์ด ๋ฌธ์์ ๊ธฐ์ฌํ ์ฌ๋๋ค์ ์๋ฐฑ๊ฐ ์ฑ์ ๊ฐ๋ฐ๊ณผ ๋ฐฐํฌ์ ์ง์ ์ฐธ์ฌํ์ผ๋ฉฐ, Heroku ํ๋ซํผ์ ํตํด์ ๋ฐฉ๋ํ ์ฑ์ ๊ฐ๋ฐ, ์ด์, ํ์ฅ์ ๊ฐ์ ์ ์ผ๋ก ๊ด์ฐฐํ๋ค. ์ด ๋ฌธ์๋ ์ค์ ๋ก ์ฐ์ด๋ ๋ค์ํ SaaS
12factor.net
โป Software as a Service(SaaS) ์๋น์ค ์ฌ์
์๊ฐ ์ธํฐ๋ท์ ํตํด ์ํํธ์จ์ด๋ฅผ ์ ๊ณตํ๊ณ ์ฌ์ฉ์๊ฐ ์ธํฐ๋ท์์์ ์ด์ ์๊ฒฉ ์ ์ํด ํด๋น ์ํํธ์จ์ด๋ฅผ ํ์ฉํ๋ ์๋น์ค ๋ชจ๋ธ. ERP..CRM..SLACK..
โฃ https://medium.com/dtevangelist/12-factors-%EB%9E%80-b39c7ef1ed30
๋ทํ๋ฆญ์ค(Netflix) OSS
โฃ ๋ชจ๋๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์
๊ธฐ๋ฐ ์ ํต์ ๊ฐ๋ฐ ๋ชจ๋ธ → ๋ง์ดํฌ๋ก์๋น์ค ๊ธฐ๋ฐ ๊ฐ๋ฐ ๋ฐฉ์์ผ๋ก ์ ํํ ์ ๊ตฌ์ โฃ ๋ง์ ์คํ์์ค๊ฐ ์กด์ฌํ๋ฉฐ, ์ ๋ ์นด(Eureka), ํ์คํธ๋ฆญ์ค(Hystrix), ๋ฆฌ๋ณธ(Ribbon), ์ค(Zuul) ๋ฑ๊ณผ ์คํ๋ง ํด๋ผ์ฐ๋์ ํตํฉ๋จ.
์ ๋ ์นด(Eureka)
โฃ ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ (์ ํ๋ฒํธ๋ถ ์ฑ
) → ์ธ๋ถ์ ์๋น์ค๋ค์ด ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ๊ฒ์ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๊ฐ๋
→ ํด๋ผ์ด์ธํธ๊ฐ ๋ก๋๋ฐธ๋ฐ์ or API Gateway์ ์ ๋ฌํ๊ฒ๋๋ฉด serviceDiscovery ์ ์ ๋ฌ๋์ด ํ์ ์ ๋ณด๋ฅผ ์ฐพ์ โฃ ์๋น์ค ์ ๋ณด ๋ฐ ์์น์ ๋ณด ํ์ธ ๋ฑ (Naming server)โฃ ์๋ฒ๊ฐ ์๋กญ๊ฒ ์์๋๋ฉด ๊ทธ๊ฒ์ ๊ฐ์งํ์ฌ ์๋์ผ๋ก ์ถ๊ฐ๋๊ณ , ์๋ฒ๊ฐ ์ข
๋ฃ๋๋ฉด ์๋์ผ๋ก ๋ชฉ๋ก์์ ์ญ์ ํ๊ธฐ ์ํ ๋ฐฉ๋ฒ. โฃ ํด๋ผ์ด์ธํธ & ์๋ฒ๋ก ๊ตฌ๋ถ • ํด๋ผ์ด์ธํธ (discovery client) → ์ ํ๋ฆฌ์ผ์ด์
์ ์ผ๋ถ๋ก ์๊ฒฉ ๋์ค์ปค๋ฒ๋ฆฌ ์๋ฒ์ ์ฐ๊ฒฐํ๋ ์ผ์ ๋ด๋น → ์ฐ๊ฒฐ๋๋ฉด ์๋น์ค ์ด๋ฆ & ๋คํธ์ํฌ ์์น๋ฅผ ๋ด์ ๋ฑ๋ก ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ → ํ์ฌ ๋ง์ดํฌ๋ก์๋น์ค๊ฐ ๋ค๋ฅธ ๋ง์ดํฌ๋ก์๋น์ค์ ์ข
๋จ์ ์ ํธ์ถํด์ผ ํ ๊ฒฝ์ฐ, ์๋ฒ๋ก๋ถํฐ ๋ฑ๋ก๋ ์๋น์ค ๋ชฉ๋ก์ ๋ด์ ์ต์ ์ ์ปจํผ๊ท๋ ์ด์
(์ค์ ์ ๋ณด)๋ฅผ ๊ฐ์ ธ์ด. → ์๋ฒ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ์บ์ฑํ๊ณ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ณ๊ฒฝ์ฌํญ ์ฒดํฌํ๋ค. → ์ ๋ ์นด ์๋ฒ๊ฐ ๋ฉ์ถ๋๋ผ๋ ์๋น์ค๋ค๋ผ๋ฆฌ ํต์ ์ด ๊ฐ๋ฅํ๋ค! ์๋น์ค ๋ ์ง์คํธ๋ฆฌ๋ฅผ ๋ก์ปฌ์ ์บ์ฑํ๊ธฐ ๋๋ฌธ → spring-cloud-starter-netflix-eureka-client ์ฌ์ฉ
• ์๋ฒ (Service registry) → ๊ฐ ์๋น์ค๋ค๋ก๋ถํฐ ์์กด์ ํธ? ๋ฉ์ธ์ง๋ฅผ ๋ฐ๊ณ , ๋ฉ์ธ์ง๋ฅผ ๋ชป๋ฐ์ผ๋ฉด ๋ ์ง์คํธ๋ฆฌ์์ ์๋น์ค ์ญ์ ๋๋ค. → ๋
๋ฆฝ์ ์ธ ์คํ๋ง ๋ถํธ ์ ํ๋ฆฌ์ผ์ด์
์ผ๋ก ์ค์ ๋๊ณ ์คํ๋จ. ๊ฐ ์๋ฒ์ ์ํ๋ฅผ ๋ค๋ฅธ ์๋ฒ์ ๋ณต์ ํด ๊ฐ์ฉ์ฑ(=์๋น์ค ์ ์ ์ฌ์ฉ ๊ฐ๋ฅ์ ๋)์ด ๋์. → pring-cloud-starter-netflix-eureka-server ์ฌ์ฉ
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4/lecture/68382?tab=curriculum&volume=1.00&speed=1
ํ์คํธ๋ฆญ์ค(Hystrix)
โฃ ์ํท๋ธ๋ ์ด์ปคํจํด ๊ตฌํ ๋์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ โฃ ํด๋ฐฑ(fallback) ๋ก์ง ์ฝ๊ฒ ๊ตฌํ ๊ฐ๋ฅ โฃ spring-cloud-starter-hystricx ์คํํฐ ์ฌ์ฉ
โป ์ํท ๋ธ๋ ์ด์ปค ํจํด (circuit breaker pattern) ์ฑ๊ณต ๋ฐ ์คํจ ์์ฒญ ํ์๋ฅผ ์ผ ๋ค์, ์๋ฌ ๋น์จ์ด ๊ฐ์ ๋ ์๊ณ์น๋ฅผ ๋์ผ๋ฉด ์ฐจ๋จ ๋ฐ์ ๋ฐ ์ดํ ์คํจ์ฒ๋ฆฌํ๋ค. → ๋ฌธ์ ๋๋ ๋ถ๋ถ(๋๋ฆฐ๋ถ๋ถ)์ ํน์ ํธ์ถ์ ๊ฐ์งํ์ฌ ์ค๋ ๋๋ฅผ ์์งํ์ง ์๊ณ ๋น ๋ฅด๊ฒ ์คํจ์์ผ ๋ฒ๋ฆผ(์๊ฒฉ ์์ ์ฌ์ฉ ๋ถ๋ถ ์ ๊ฑฐ) → ๋ค๋ฅธ์๋น์ค์ ์ํฅ ์๊ฐ๋๋ก! ์ง์ ๋ ์๊ฐ์ด ์ง๋๊ณ ๋๋ฉด, ์ฌ์์ฒญ ํ ์ํท์ ๋ซํ ์ ์์ฒ๋ฆฌ๊ฐ ๋๋๋ก ํ๋ค.
๋ฆฌ๋ณธ(Ribbon)
โฃ ํด๋ผ์ด์ธํธ ๋ก๋๋ฐธ๋ฐ์ ์ญํ ,, ๊ทผ๋ฐ ๋น๋๊ธฐ ์ฒ๋ฆฌ๊ฐ ์ ๋์ง ์์,, ์ ์ฌ์ฉ ์ํ๊ฒ๋จ โฃ IP..port..ํธ์ถ์ด ์๋ ์ด๋ฆ๋ง ๊ฐ์ง๊ณ ํธ์ถ์ด ๊ฐ๋ฅ... โฃ ํด๋ผ์ด์ธํธ ์ธก ๋ถํ ๋ถ์ฐ๊ธฐโฃ HTTP, UDP, TCP ๋ฑ ๊ฐ์ฅ ์ ๋ช
ํ ํ๋กํ ์ฝ ์ง์โฃ ๋๊ธฐ๋ฐฉ์์ RESTํธ์ถ, ๋น๋๊ธฐ, ๋ฆฌ์กํฐ๋ธ ๋ชจ๋ธ๋ ์ง์โฃ ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ, ์บ์ฑ, ์ผ๊ด์ฒ๋ฆฌ, ์ฅ์ ๋ด์ฑ๊ณผ ํตํฉ ๊ฐ๋ฅ.โฃ spring-cloud-starter-ribbon ์คํํฐ ์ฌ์ฉ โฃ springboot 2.4 ์ดํ Maintenance ์ํ
์ค(Zuul)
โฃ API ๊ฒ์ดํธ์จ์ด or API Service, Edge Service โฃ JVM ๊ธฐ๋ฐ ๋ผ์ฐํฐ, ์๋ฒ ์ธก ๋ถํ ๋ถ์ฐ or ์ผ๋ถ ํํฐ๋ง ์ํโฃ ์ธ์ฆ, ๋ถํ ํ๊ท ๋ถ๋ฐฐ, ์ ์ ์๋ต ์ฒ๋ฆฌ, ๋ถํ ํ
์คํธ ๋ฑ์ ์ฌ์ฉ.โฃ ์ค์ ๊ฐ๋ฅ ๋ฐ ๋
๋ฆฝ์ ์คํ๋ง ๋ถํธ ์ ํ๋ฆฌ์ผ์ด์
์ผ๋ก ์คํ๋จ. โฃ spring-cloud-starter-zuul ์คํํฐ ์ฌ์ฉ โฃ springboot 2.4 ์ดํ Maintenance ์ํ
โป ์ต๊ทผ์๋ Ribbon,, Zuul ๋ณด๋จ, Spring Cloud Gateway ์ ์ฌ์ฉํ๋๊ฒ์ ๊ถ์ฅํ๊ณ ์๋ค๊ณ ํจ.https://spring.io/blog/2018/12/12/spring-cloud-greenwich-rc1-available-now#spring-cloud-netflix-projects-entering-maintenance-mode
https://happycloud-lee.tistory.com/218 โ
[SC12] Spring Cloud Gateway ๋ ?
1. Spring Cloud Gateway(SCG) ์ดํด 1) WHY ? SCG๋ API Gateway์ ํ๋์
๋๋ค. ๋ฐ๋ผ์ API Gateway๊ฐ ์ ํ์ํ์ง ๋จผ์ ์ดํดํ๋๊ฒ์ด ํ์ํฉ๋๋ค. Zuul serverํธ์์ ์ค๋ช
ํ๋ฐ์ ๊ฐ์ด API Gateway๊ฐ ํ์ํ ์ด์ ..
happycloud-lee.tistory.com
ํ์ธ(Feign)
โฃ REST Client โฃ Interface ์ ์ธ์ ํตํด ์๋์ผ๋ก HttpClient ์ ์์ฑ โฃ ์น ์๋น์ค ํด๋ผ์ด์ธํธ๋ฅผ ์ฝ๊ฒ ์์ฑํ๋๋ก ๋์์ค. โฃ ๊ด์ฌ์ฌ ๋ถ๋ฆฌ (๋ฆฌํด๊ฐ๋ง ๊ด์ฌ,, ์ด๋ค URL ์ธ์ง ์ด๋ป๊ฒ ์๋ต๊ฐ์ ํ์ฑํ ์ง๋ ๊ด์ฌ์์) โฃ spring-cloud-starter-feign ์คํํฐ ์ฌ์ฉ โฃ ๋ฆฌ๋ณธ ํด๋ผ์ด์ธํธ์ ํตํฉ๋ผ ๋์ค์ปค๋ฒ๋ฆฌ ์๋น์ค์ ํต์ , ๋ถํ๋ถ์ฐ ๊ฐ์ ๊ธฐ๋ฅ ์ ๊ณต.
https://erea.tistory.com/14
๋ถ์ฐ ์ปจํผ๊ท๋ ์ด์
๊ด๋ฆฌ
โฃ ์ค์ ์ ๋ณด ํ์ผ์ ํ๋ก์ ํธ ๋ด๋ถ๊ฐ ์๋, ์ธ๋ถ์์ ๊ด๋ฆฌํ๋๊ฒ (์ค์ํ ๋ ์ ์ฅ์์์ ๊ตฌ์ฑ ์์ ๊ด๋ฆฌ) โฃ ๊ฐ ์๋น์ค๋ฅผ ๋ค์ ๋น๋ํ์ง์๊ณ ๋ฐ๋ก ์ ์ฉ! (์ค์์ ์์ผ๋ฏ๋ก) โฃ ์๋ฒ๋ ๋จ ํ๋์ ์ค์ ์ฅ์, ์ ํ๋ฆฌ์ผ์ด์
์ ์ํ ๋ชจ๋ ์ธ๋ถ ์์ฑ์ด ๋ชจ๋ ํ๊ฒฝ์ ๋ํด ์๋ฒ์์ ๊ด๋ฆฌ๋จ. (key, value.. yml file..)โฃ ์ค์ ํ์ผ์ ํ์ผ ์์คํ
๋๋ ์๋ฒ ํด๋์ค ๊ฒฝ๋ก์ ์์ ์ ์๋ค. (vault..)
โป Vault ํ ํฐ ๋ฐ ํจ์ค์๋ ์๊ฒฉ์ฆ๋ช
์ ๊ด๋ฆฌํ ์ ์๋ ์คํ ์์ค ๋๊ตฌ ํด์์ฝํ(HashCorp)์์ ๋ง๋ฌ ์๊ฒฉ ์ ๋ณด ๋ฑ์ ์์ ํ ์ฅ์์ ์ ์ฅ์ด ๊ฐ๋ฅํ์ฌ ๋ณด์์ด์์ ๋์์ด ๋ ์ ์๋ค. API ์ ํตํด ์ฝ๊ฒ ์ ๊ทผ ๊ฐ๋ฅ (API๋ ๊ธฐ๋ณธ ์ธ์ฆ์ผ๋ก ๋ณดํธ๋จ) ํค/๊ณต๊ฐ ํค ์ธ์ฆ์ ์ฌ์ฉํ SSL ์ฐ๊ฒฐ ์ค์ ๋ ํ ์ ์๋ค.
โฃ spring-cloud-config-server ์์กด์ฑ ์ถ๊ฐํ์ฌ ํ์ฑํ
์ปจ์ค(Consul)
โฃ ๋ทํ๋ฆญ์ค ๋ฆฌ๋ณธ๊ณผ ๋์ ๋ผ์ฐํฐ, ๋ทํ๋ฆญ์ค Zuul์ filter๋ฅผ ์ง์ โฃ spring-cloud-starter-consul-discovery ์์กด์ฑ ์ฌ์ฉ
์ํ์น ์ฃผํคํผ(Apache Zookeeper)
โฃ ์ปจํผ๊ท๋ ์ด์
๊ณผ ์ด๋ฆ์ ์ ์งํ๋ ์ค์ ์๋น์ค๋ก ๋ถ์ฐ ๋๊ธฐํ, ๊ทธ๋ฃน ์๋น์ค๋ฅผ ๊ฐ๋ฅํ๊ฒ ํจ. โฃ ๋ถ์ฐ ์ฒ๋ฆฌ๋ ๋ฉ์ธ์ง ํ ์ ๋ณด๋ค ๊ด๋ฆฌ, kafka ์๋ฒ ๊ฐ๋ํ๋ ค๋ฉด zookeeper๊ฐ ๊ตฌ๋๋์ด ์์ด์ผ ํจ. โฃ ํด๋ผ์ด์ธํธ ์ธก์ ์ฃผํคํผ๋ฅผ ์ฌ์ฉํ ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด spring-cloud-startet-zookeeper-discovery, ์ํ์น ํ๋ ์ดํฐ๋ฅผ ์์กด์ฑ์ ํฌํจ. โฃ ๋ถ์ฐ ์ปจํผ๊ท๋ ์ด์
ํด๋ผ์ด์ธํธ๋ฅผ ํ์ฑํ ํ๊ธฐ ์ํด์๋ spring-cloud-starter-zookeeper-config ์์กด์ฑ์ ์ถ๊ฐํ์.
๋ถ์ฐ์ถ์
์ฌ๋ฃจ์ค(Sleuth)
โฃ ํ๋์ ์์ฒญ์ ์ฌ๋ฌ ๋ง์ดํฌ๋ก์๋น์ค๋ก ์ฒ๋ฆฌํ ๋ ์ด์ด์ง๋ ์์ฒญ์ ์ฐ๊ด์ง์ โฃ Slf4j, MDC๋ก ๊ฐ๋ฐ๋์๋ค. โฃ spring-cloud-starter-sleuth ์์กด์ฑ ์ถ๊ฐํ์ฌ ํ์ฑํ
โป Slf4j ๋ก๊ทธ๋ฐฑ log4j, logging ๋ฑ๊ณผ ๊ฐ์ ํน์ ๋ก๊น
ํ๋ ์์ํฌ์ ์ถ์ํ ํผ์ฌ๋(Facade=์ปค๋ค๋ ์ฝ๋๋ถ๋ถ์ ๋ํด ๊ฐ๋ตํ๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณต)๋ฅผํจ โป MDC (mapped diagnostic context) ๋ค์ํ ์์ค์ ๋ก๊ทธ ์ถ๋ ฅ์ ๊ตฌ๋ถํ๊ณ ์ค์ ๋ฒ์์ ์๋ ๋ถ๊ฐ ์ ๋ณด๋ฅผ ์ถ๊ฐํ๋ ์๋ฃจ์
๋ฉ์ธ์ง
๋ฒ์ค(bus)
โฃ ๋ถ์ฐ์์คํ
์ ๋
ธ๋(๋ง์ดํฌ๋ก์๋น์ค)๋ฅผ ๊ฒฝ๋ ๋ฉ์ธ์ง ๋ธ๋ก์ปค(RabbitMQ)์ ์ฐ๊ฒฐ โฃ ์ํ ๋ฐ ๊ตฌ์ฑ์ ๋ํ ๋ณ๊ฒฝ์ฌํญ์ ์ฐ๊ฒฐ๋ ๋
ธ๋์๊ฒ ์ ๋ฌ (๋ง์ดํฌ๋ก ์๋น์ค์๊ฒ ๋ณ๊ฒฝ์ฌํญ์ ์๋ ค์ค) โฃ ์ปจํผ๊ท๋ ์ด์
๋ณ๊ฒฝ ์ด๋ฒคํธ์ ์ ๋ฌ ๋ฑ ๊ณตํต ์คํผ๋ ์ด์
์ ์ํ ๋ถ์ฐ ๋ฉ์ธ์ง ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ค.
์คํธ๋ฆผ(Stream)
โฃ ๋ฉ์ธ์ง ์ค์ฌ ๋ง์ดํฌ๋ก ์๋น์ค๋ก ๊ตฌ์ฑ๋ ์์ธํ์ ๊ฐ๋ฐํ๊ธฐ ์ํ ์ฌ๋ฐ๋ฅธ ํ๋ ์์ํฌโฃ ๋๊ฐ์ ๋ฐ์ธ๋๊ฐ ์กด์ฌ (AMQP, Apache Kafka)โฃ ์คํ๋ง ์ธํ
๊ทธ๋ ์ด์
์ ๊ธฐ๋ฐ. ์ข
๋จ์ , ์ฑ๋, ์ ๊ทธ๋ฆฌ๊ฒ์ดํฐ, ํธ๋์คํฌ๋จธ์ ๊ฐ์ ๋๋ถ๋ถ์ ์ํฐํ๋ผ์ด์ฆ ํตํฉ ํจํด์ ์ง์ํ๋ ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ธ์ ์ ๊ณตโฃ ๋ง์ดํฌ๋ก์์คํ
๋ด์ ์ ํ๋ฆฌ์ผ์ด์
์ ์คํ๋ง ํด๋ผ์ฐ๋ ์คํธ๋ฆผ ์
๋ ฅ & ์ถ๋ ฅ ์ฑ๋์ ํตํด ํต์ ํจ. โฃ ๊ตฌ๋
/๊ฒ์ ๋ฑ ๋ฉ์ธ์ง ๊ณต์ ํ ํฝ์ ํตํด ์ ํ. (์น์์ผ ํต์ ๋ฐฉ์ ๊ฐ์๊ฑด๊ฐ,,)
โป AMQP (Advanced Message Queue Protocol) ๋ฉ์ธ์ง ํ๋กํ ์ฝ (MQ(๋ฉ์ธ์งํ) ๊ธฐ๋ฐ) HTTP ํ๋กํ ์ฝ๊ณผ ๋ฌ๋ฆฌ ๋คํธ์ํฌ ํ๋กํ ์ฝ์ ์ ์ ๋ฟ ์๋๋ผ ์๋ฒ ์ธก ์๋น์ค์ ๋์ ๋ฐฉ์๋ ์ ์ํ๋ค. ๊ด๋ จ ๋ฏธ๋ค์จ์ด : RabbitMQ, Erlang ๋ฉ์ธ์ง๋ธ๋ก์ปค ์คํ์์ค ๋ฉ์ธ์ง ์ํํธ์จ์ด https://www.youtube.com/watch?v=80y2C54KPxg ๋ฐ๋ ์๋น์ ์ค์ฌ
โป Apache Kafka Scala์ธ์ด๋ก ๊ฐ๋ฐ๋ ์คํ์์ค ๋ฉ์ธ์ง ๋ธ๋ก์ปค ํ๋ก์ ํธ ์ด๋ฒคํธ๋ธ๋ก์ปค (๋ฉ์ธ์ง ๋ธ๋ก์ปค ๊ธฐ๋ฅ ํฌํจ) ๋ถ์ฐ ์คํธ๋ฆฌ๋ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ์ค๊ณ๋ ์คํ์์ค ๋ฉ์ธ์ง ํ๋ซํผ ๋ฉ์ธ์ง ๋ฐํ/๊ตฌ๋
์์คํ
(Pub/Sub) ๋ณด๋ด๋ ์์ฐ์ ์ค์ฌ
ํด๋ผ์ฐ๋ ํ๋ซํผ ์ง์
โฃ ํผ๋ณดํ..SQS,,SNS,,ElasticCache,,RDS,,๋ฑ์ด ์๋ค.โฃ ์คํ๋ง ํด๋ผ์ฐ๋ ํ์
ํ๋ก์ ํธ๊ฐ ์๋ค. FaaS(Function-as-a-Service),,AWS Lambda โฃ SMTP..rabbitMQ,,Redis,,
๋ณด์๊ด๋ฆฌ ํ์ฑํ
โฃ spring-cloud-starter-security ์์กด์ฑ ์ถ๊ฐ
๋ฆด๋ฆฌ์ฆ ํธ๋ ์ธ
โฃ ํ์ ํ๋ก์ ํธ์ ํผ๋์ ํผํ๊ธฐ ์ํด ๋ฆด๋ฆฌ์ฆ๋ฅผ ๋ฒ์ ์ด ์๋ ์ด๋ฆ์ผ๋ก ๊ตฌ๋ถโฃ BOM(Bill of materials)์ ๊ธฐ๋ฐ → ์ํฐํฉํธ ๋ฒ์ ์ ๋
๋ฆฝ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ํ์ค ๋ฉ์ด๋ธ ๊ฐ๋
.โฃ https://spring.io/projects/spring-cloud-stream
์ฐธ๊ณ
๋งํฌ: https://m.blog.naver.com/quart21c/173614581
ํด๋ผ์ฐ๋์ปดํจํ
์ SaaS, PaaS, laaS์ ๋ํด์ ์์๋ณผ๊น์.
ํด๋ผ์ฐ๋์ปดํจํ
๋ ์์ฃผ ๋ฃ๋ SaaS, PaaS, LaaS์ ๋ํด์ ์์๋ณผ๊น์. ํด๋ผ์ฐ๋์ปดํจํ
, ํด๋ผ...
blog.naver.com
๋งํฌ: https://coe.gitbook.io/guide/gateway/zuul
Zuul - guide
๋์ ๋ผ์ฐํ
, ๋ชจ๋ํฐ๋ง, ํ๋ณต ํ๋ ฅ์ฑ, ๋ณด์ ๊ธฐ๋ฅ์ ์ง์ (Filters๋ฅผ ํตํ ๊ตฌํ)
coe.gitbook.io
๋งํฌ: https://sup2is.github.io/2020/04/12/spring-cloud-hystrix-circuit-breaker-with-fallback.html
Sup2's blog-Spring Cloud์์ Hystrix๋ฅผ ์ฌ์ฉํ Circuit Breaker ๊ตฌํํ๊ธฐ Feat.Fallback
sup2is.github.io
์ฑ
: http://www.yes24.com/Product/Goods/66581779
๋ง์คํฐ๋ง ์คํ๋ง ํด๋ผ์ฐ๋ - YES24
๋ถ์ฐ ์์คํ
์์ ์๋น์ค๋ฅผ ๊ฐ๋ฐ, ํ
์คํธ, ๋ณด์ ๊ฐํ, ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๊ณ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ์!ํด๋ผ์ฐ๋์์ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ๊ณ ๋ฐฐํฌํ๊ณ ์ด์ํ๋ ๊ฒ์ ๋ก์ปฌ ์ ํ๋ฆฌ
www.yes24.com
๋งํฌ: http://blog.skby.net/amqp-advanced-message-queue-protocol/
AMQP (Advanced Message Queue Protocol) > ๋๋ฆฌ์ ๋์งํธ๋ผ์ดํ
I. ์์ฉ ๊ณ์ธต ๋ฉ์์ง ์ ๋ฌ ํ์ค, AMQP ๊ฐ. AMQP(Advanced Message Queue Protocol)์ ๊ฐ๋
ํด๋ผ์ด์ธํธ ๋ฏธ๋ค์จ์ด ๋ธ๋ก์ปค ๊ฐ ๋ฐ์ดํฐ ๊ตํ์ ์ํ MQ๊ธฐ๋ฐ ๋ฉ์์ง ๊ตํ ํ๋กํ ์ฝ ๋. AMQP ํน์ง ์ด๊ธฐ์ข
๊ฐ ๋ฉ์์ง ๊ตํ
blog.skby.net
๊ฐ์: https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4/lecture/68407?tab=curriculum&volume=1.00&speed=1