CircuitBreaker

Channel Gateway์— CircuitBreaker ์ ์šฉ

๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ

Circuit Breaker์— ๋Œ€ํ•œ ์†Œ๊ฐœ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฝ์ง€ ์•Š์•˜๋‹ค๋ฉด ๋จผ์ € ์ฝ์–ด๋ณด์‹œ๊ธธ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

Channel Gateway์— CircuitBreaker ์ ์šฉํ•˜๊ธฐ

Channel Gateway ์„œ๋ฒ„์—์„œ๋Š” LINE์˜ ๋‹ค์–‘ํ•œ ์„œ๋ฒ„๋“ค์˜ ๊ธฐ๋Šฅ์„ CP(Contents Provider)๋“ค์—๊ฒŒ ์ œ๊ณตํ•˜๋Š” ์—ญํ• ์„ ๋งก๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๋ณด๋‹ˆ Channel Gateway ์„œ๋ฒ„๋“ค์€ ์—ฐ๊ฒฐ๋œ ์„œ๋ฒ„๋“ค์— ์˜ํ–ฅ์„ ๋งŽ์ด ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ๊ทธ๋Ÿฌํ•œ ์˜ํ–ฅ๋“ค์€ ์‰ฝ๊ฒŒ ์ „์ฒด Channel Gateway ์„œ๋ฒ„๋“ค์—๊ฒŒ ์ „ํŒŒ๋ฉ๋‹ˆ๋‹ค.

๋ถ„์‚ฐ ์„œ๋น„์Šค ํ™˜๊ฒฝ์— ๋Œ€ํ•œ Circuit Breaker ์ ์šฉ

LINE์˜ ์—”์ง€๋‹ˆ์–ด Ono์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ๋ธ”๋กœ๊ทธ์—์„œ๋Š” LINE์˜ ์„œ๋ฒ„์—์„œ ์‹ค์ œ๋กœ ๋„์ž…์„ ์‹œ์ž‘ํ•œ ‘Circuit Breaker’๋ผ๋Š” ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

Circuit Breaker๋ž€?

LINE์„ ๋น„๋กฏํ•œ ์ตœ๊ทผ์˜ Web ๋ฐ App์˜ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„ ์‹œ์Šคํ…œ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์„œ๋น„์Šค๊ฐ€ API๋‚˜ RPC๋กœ ์—ฐ๊ฒฐ๋œ ๋„คํŠธ์›Œํฌ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ด ๋„คํŠธ์›Œํฌ ์ค‘ ํ•˜๋‚˜๊ฐ€ ๊ฐ‘์ž๊ธฐ ์ „ํ˜€ ์‘๋‹ตํ•˜์ง€ ์•Š๊ฒŒ ๋˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ์„œ๋น„์Šค ์ ‘์† ์‹œ ํƒ€์ž„์•„์›ƒ๋  ๋•Œ๊นŒ์ง€ ์ฐจ๋‹จ๋˜์–ด, ์˜์กด์„ฑ์ด ์žˆ๋Š” ์„œ๋น„์Šค๊นŒ์ง€ ์—ฐ์‡„์ ์œผ๋กœ ๋ฉˆ์ถœ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋„คํŠธ์›Œํฌ ์ „์ฒด๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ์ด ์•„๋ฌด๋„ ์—†๋‹ค๋ฉด, ๊ทผ๋ณธ์ ์ธ ์›์ธ์ด ์–ด๋Š ์„œ๋น„์Šค์— ์žˆ๋Š”์ง€๋ฅผ ์•Œ์•„๋‚ด๊ธฐ๊นŒ์ง€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.