๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“”๊ฐ•์˜ ์ •๋ฆฌ ๋…ธํŠธ

(15)
[Spring Cloud๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค] Section 4: ๋กœ๊ทธ์ธ ์ฒ˜๋ฆฌ์™€ JWT ์ ์šฉ apigateway ๊ตฌ์„ฑ application.yml์— ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์ •๋ณด ์ถ”๊ฐ€ - id: user-service uri: lb://USER-SERVICE predicates: - Path=/user-service/login - Method=POST filters: - RemoveRequestHeader=Cookie # ์ฟ ํ‚ค ์‚ญ์ œ ํ›„ ์‹คํ–‰ - RewritePath=/user-service/(?.*), /$\{segment} - id: user-service uri: lb://USER-SERVICE predicates: - Path=/user-service/users - Method=POST filters: - RemoveRequestHeader=Cookie # ์ฟ ํ‚ค ์‚ญ์ œ ํ›„ ์‹คํ–‰ - RewritePath..
[Spring Cloud๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค] Section 3: E-commerce ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์กฐ E-commerce ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ ๋งŒ๋“ค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ๋„ ์ตœ์ข…์ ์ธ ๊ตฌ์„ฑ๋„ ๊ตฌ์„ฑ์š”์†Œ Git repository์— ์†Œ์Šค๊ด€๋ฆฌ ymlํŒŒ์ผ์ด ์•„๋‹Œ Config Server์—์„œ ํ”„๋กœํŒŒ์ผ ์ •๋ณด ๋ฐ ์„ค์ • ๊ด€๋ฆฌ (๋™์ ์œผ๋กœ ๊ตฌ์ถ• ๊ฐ€๋Šฅ) kafka์—ฐ๋™
[Spring Cloud๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค] Section 2: API Gateway Service API Gateway Service API Gateway๋Š” ์„œ๋น„์Šค๋กœ ์ „๋‹ฌ๋˜๋Š” ๋ชจ๋“  API ์š”์ฒญ์˜ ๊ด€๋ฌธ ์—ญํ• ์„ ํ•œ๋‹ค. ๋‚ด๋ถ€ ์„œ๋ฒ„ ์‹œ์Šคํ…œ์˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋‚ด๋ถ€๋กœ ์ˆจ๊ธฐ๊ณ  ์™ธ๋ถ€์˜ ์š”์ฒญ์— ๋Œ€ํ•œ ์ ์ ˆํ•œ ์‘๋‹ต์„ ํ•œ๋‹ค. ์ฆ‰, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ์•Œ ํ•„์š”์—†์ด ์•ฝ์†ํ•œ ํ˜•ํƒœ์˜ API์˜ ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. API Gateway์˜ ๊ธฐ๋Šฅ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ผ๊ด„์ ์œผ๋กœ ์ฒ˜๋ฆฌ ์„œ๋น„์Šค ๋””์Šค์ปค๋ฒ„๋ฆฌ ์ „์ฒด ์‹œ์Šคํ…œ์˜ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ ์‹œํ‚ค๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์˜ ์—ญํ•  ๋™์ผํ•œ ์š”์ฒญ์— ๋Œ€ํ•œ ๋ถˆํ•„์š”ํ•œ ๋ฐ˜๋ณต ์ž‘์—…์„ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ์บ์‹ฑ ์‹œ์Šคํ…œ ์ƒ์„ ์˜ค๊ณ ๊ฐ€๋Š” ์š”์ฒญ๊ณผ ์‘๋‹ต์— ๋Œ€ํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ ๋‚ด๋ถ€์— ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ˆจ๊ธธ ์ˆ˜ ์žˆ์Œ ํšŒ๋กœ์ฐจ๋‹จ๊ธฐ ๊ธฐ๋Šฅ ์ธ์ฆ ๋ฐ ์ธ๊ฐ€ Spring Cloud์—์„œ MSA๊ฐ„ ํ†ต์‹  - RestTemplate - Feign Client Netfilx ..
[Spring Cloud๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค] Section 1: Service Discovery Spring Cloud Netfilx Eureka ์Šคํ”„๋ง ํด๋ผ์šฐ๋“œ ๋„ทํ”Œ๋ฆญ์Šค๋Š” '์Šคํ”„๋ง๋ถ€ํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜'์— ๋Œ€ํ•œ ํ†ตํ•ฉ ํ™˜๊ฒฝ ๊ตฌ์„ฑ์„ ์ง€์›ํ•˜๋Š” Netfilx OSS ์„œ๋น„์Šค์ด๋‹ค. Netfilx OSS์˜ ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค Eureka : Disocovery Server ๊ฐ๊ฐ์˜ ์„œ๋น„์Šค ์ธ์Šคํ„ด์Šค๋“ค์ด ๋™์ ์œผ๋กœ ํ™•์žฅ, ์ถ•์†Œ ๋˜๋”๋ผ๋„ ์ธ์Šคํ„ด์Šค์˜ ์ƒํƒœ๋ฅผ ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค Ribbon : Client Side Load Balancer ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐ์‹œํ‚ค๋Š” ๊ธฐ๋Šฅ Zuul : API Gateway ๊ฐ๊ฐ์˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์ข…๋‹จ์ ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ Hystrix : Circuit Breaker ํŠน์ • ์„œ๋น„์Šค๊ฐ€ ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ ค ์„œ๋น„์Šค ์žฅ์• ๋ฅผ ์ „ํŒŒํ•˜๋Š” ํŠน์„ฑ์„ ํ•ด๊ฒฐํ•˜๋Š” ๊ธฐ๋Šฅ ์ด์™ธ์—๋„ ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค. Netfi..
[Spring Cloud๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค] Section 0: MicroService์™€ Spring Cloud ์†Œ๊ฐœ ๋ชฉ์ฐจ ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ 1990 ~ 2000 : Robust, Distributed 2010 ~ : Resilient / Anti-Fagile, Cloud Native Antifrgile ํŠน์ง• Auto scaling Microservices Chaos engineering - ๋ถˆํ™•์‹คํ•œ ์ƒํ™ฉ์—์„œ๋„ ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค Continuos deployment - ์ง€์†์ ์ธ ํ†ตํ•ฉ๊ณผ ๋ฐฐํฌ (ํ…Œ์ŠคํŠธ, ๋ชจ๋‹ˆํ„ฐ๋ง,ํ”ผ๋“œ๋ฐฑ) => Continous Delivery Cloud Native Architecture ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์•„ํ‚คํ…์ฒ˜ ์‹œ์Šคํ…œ์˜ ์ˆ˜ํ‰์  ํ™•์žฅ์— ์œ ์—ฐ ํ™•์žฅ๋œ ์„œ๋ฒ„๋กœ ์‹œ์Šคํ…œ ๋ถ€ํ•˜๋ถ„์‚ฐ, ๊ฐ€์šฉ์„ฑ ๋ณด์žฅ (Scale up, Scale out) ์‹œ์Šคํ…œ ๋˜๋Š”, ์„œ๋น„์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‹จ์œ„์˜ ํŒจํ‚ค์ง€ (์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ํŒจํ‚ค์ง€) ํด๋ผ์šฐ๋“œ ๊ตฌ์ถ•..
[๊น€์˜ํ•œ๋‹˜ ๊ฐ•์˜ ์ •๋ฆฌ - ์Šคํ”„๋ง MVC 1ํŽธ] ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ดํ•ด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ดํ•ด ์“ฐ๋ ˆ๋“œ๋ž€..? ์ž๋ฐ” ๋ฉ”์ธ ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด main์“ฐ๋ ˆ๋“œ๊ฐ€ ์‹คํ–‰๋จ ๋™์‹œ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด ์“ฐ๋ ˆ๋“œ๋ฅผ ์ถ”๊ฐ€๋กœ ์ƒ์„ฑ ์š”์ฒญ์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ.. ์š”์ฒญ์ด ์“ฐ๋ ˆ๋“œ๋ณด๋‹ค ๋งŽ๋‹ค๋ฉด ์ผ์ • ์‹œ๊ฐ„ ์ดํ›„ 'ํƒ€์ž„์•„์›ƒ'์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ณ  ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•ด '์‹ ๊ทœ์“ฐ๋ ˆ๋“œ'๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์“ฐ๋ ˆ๋“œ ์ƒ์„ฑ์—๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. ์“ฐ๋ ˆ๋“œ ์ƒ์„ฑ ๋น„์šฉ์ด ๋น„์‹ธ๋‹ค. (CPU, ๋ฉ”๋ชจ๋ฆฌ) ์š”์ฒญ๋งˆ๋‹ค ์ƒ์„ฑํ•˜๋ฉด '์‘๋‹ต์†๋„'๊ฐ€ ๋Šฆ์–ด์ง„๋‹ค. ์“ฐ๋ ˆ๋“œ๊ฐ€ ๋งŽ์•„์ง€๋ฉด '์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ' ๋น„์šฉ์ด ๋ฐœ์ƒํ•œ๋‹ค. ์“ฐ๋ ˆ๋“œ๋ฅผ ๋ฌด์ œํ•œ์œผ๋กœ ์ƒ์„ฑํ•˜๋‹ค๋ณด๋ฉด CPU, ๋ฉ”๋ชจ๋ฆฌ ์ž„๊ณ„์ ์„ ๋„˜์–ด ์„œ๋ฒ„๊ฐ€ ์ฃฝ๋Š”๋‹ค. WAS๋Š” ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ์„๊นŒ..? ์“ฐ๋ ˆ๋“œํ’€ ํ™œ์šฉ ์“ฐ๋ ˆ๋“œ ํ’€์— ์“ฐ๋ ˆ๋“œ๋ฅผ ๋ฏธ๋ฆฌ ์ƒ์„ฑํ•ด๋‘๊ณ  ์“ฐ๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋ฐ˜๋‚ฉํ•˜๊ณ  ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ⇒ ๋™์‹œ์š”์ฒญํ—ˆ์šฉ๊ฐฏ์ˆ˜๋ฅผ ์ •ํ•ด๋‘” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค. (..
HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹ ์ •๋ฆฌ www.notion.so/HTTP-66203aa6efa2493088a8b759c9e1d43b ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹ HTTP์˜ ์ „์ฒด ํ๋ฆ„๊ณผ ์‹ค๋ฌด์— ํ•„์š”ํ•œ ์ง€์‹ ์Œ“๊ธฐ www.notion.so

๋ฐ˜์‘ํ˜•