" ์ด์Šˆ ์ •๋ฆฌ(1) Timeout
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
ํ˜„์—…๊ด‘๊ณ ์ธ/๊ฐ์ข…๊ฟ€ํŒ

์ด์Šˆ ์ •๋ฆฌ(1) Timeout

by ๋…๋”˜ 2023. 7. 14.
728x90
๋ฐ˜์‘ํ˜•

TimeOut ์ด๋ž€,

Timeout์ด๋ž€, ํŠน์ • ์‹œ๊ฐ„ ๋‚ด์— ํŠน์ •ํ•œ ์•ก์…˜์ด ์ˆ˜ํ–‰๋˜์ง€ ์•Š์•„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘๋‹จ ํ•˜๋Š” ๊ฒƒ. 

์ฆ‰ Request(์š”์ฒญ)์— ๋Œ€ํ•œ ์ˆ˜์‹  ์ดํ›„ Response(์‘๋‹ต)์ด ์—†๋‹ค๋ฉด ์•ก์…˜์ด ์ˆ˜ํ–‰๋˜์ง€ ์•Š์•˜๋‹ค๊ณ  ๊ฐ์ง€ํ•œ๋‹ค. 

 

์•ฑ ์ˆ˜์ตํ™” ํ”Œ๋žซํผ(Clients) ↔ ๋งค์ฒด(Server)  

1. ์œ ์ €๊ฐ€ ๊ด‘๊ณ  ์ฐธ์—ฌ๋ฅผ ์™„๋ฃŒํ•˜๋ฉด ํ”Œ๋žซํผ์—์„œ ๋งค์ฒด์ธก์—๊ฒŒ ํ•ด๋‹น ์œ ์ €์—๊ฒŒ ๋ณด์ƒ์ง€๊ธ‰์„ ์š”์ฒญํ•จ (Request) 

2. ๋งค์ฒด(Publishers)์ธก์—์„œ ํ•ด๋‹น ์š”์ฒญ์— ๋Œ€ํ•œ ์ˆ˜์‹ ์ดํ›„ ์š”์ฒญ์— ๋Œ€ํ•œ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‘๋‹ต์„ ๋ณด๋‚ด์คŒ.

3. ์ด ๋•Œ, ํ”Œ๋žซํผ(Clients) ์ธก์—์„œ๋Š” ์–ธ์ œ๊นŒ์ง€ ์‘๋‹ตํ•ด์•ผ๋˜๋Š” ์‹œ๊ฐ„์„ ์ •ํ•˜๋ฉฐ ํ•ด๋‹น ์‹œ๊ฐ„์„ Timeout ์ด๋ผ๊ณ  ํ•จ.

4. ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ์ •ํ•œ TimeOut ์‹œ๊ฐ„์ด ์ดˆ๊ณผํ•˜๋ฉด ์ด์— ๋”ฐ๋ผ ์žฌ ์š”์ฒญ์„ ๋ณด๋‚ด๊ธฐ๋„ ํ•œ๋‹ค. 

 

๊ด€๋ จ ์ด์Šˆ ์ •๋ฆฌ  

ํด๋ผ์ด์–ธํŠธ ์ธก ์š”์ฒญ(Request)์— ๋”ฐ๋ผ ์œ ์ €์—๊ฒŒ ๋ณด์ƒ์„ ์ง€๊ธ‰์„ ํ•˜๊ณ  ์ •์ƒ์ ์œผ๋กœ ์ง€๊ธ‰์„ ์ฒ˜๋ฆฌํ–ˆ๋‹ค๊ณ  OK ์‘๋‹ต(Response) ์ˆ˜์‹ ์„ ํ–ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ค‘๋ณต ์š”์ฒญ(=ํด๋ผ์ด์–ธํŠธ ์ธก์˜ ๊ด€์ ์—์„œ๋Š” ์ค‘๋ณต ์š”์ฒญ)์ด ์™”๋‹ค. ์ด์—๋”ฐ๋ผ ๋ณด์ƒ์„ ์ค‘๋ณต์œผ๋กœ ์ง€๊ธ‰ํ•˜๋Š” ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒ. ์‚ฌ๊ฑด์˜ ์›์ธ์€ "ํด๋ผ์ด์–ธํŠธ ์ธก์— ๊ธฐ๋Œ€ ์‘๋‹ต ์‹œ๊ฐ„๊ณผ ์„œ๋ฒ„ ์ธก ์ฒ˜๋ฆฌ ์‹œ๊ฐ„ ์‚ฌ์ด Gap(์ฐจ์ด)์ด ๋ฐœ์ƒ" ํ–ˆ์—ˆ๋˜ ๊ฒƒ์ด๋‹ค. ์ฆ‰ ํ’€์–ด์„œ ์„ค๋ช…ํ•˜์ž๋ฉด, ์š”์ฒญ์„ ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ A๋ฅผ ์š”์ฒญํ–ˆ๋Š”๋ฐ ์„œ๋ฒ„์—์„œ ์ˆ˜์‹ ์„ ๋ถˆ๊ตฌํ•˜๊ณ  A์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๊ฐ’์„ ์ฃผ์ง€ ์•Š์•„์„œ ๋ญ์•ผ? ์ฝ๊ณ  ๊นŒ๋จน์—ˆ๋‚˜ํ•˜๊ณ  ์žฌ์š”์ฒญํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.  

 

์ถ”๊ฐ€ ์•Œ๊ฒŒ๋œ ์  

Timeout์ด๋ž€, ์‘๋‹ต์— ๋Œ€ํ•œ ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด์ง€ ์žฌ ์š”์ฒญ ์‹œ๊ฐ„์€ ์•„๋‹ˆ๋‹ค. ์ฆ‰ 0.5์ดˆ(500ms) ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์‘๋‹ต์ด ์•ˆ์™”๋‹ค๋ฉด ์ดํ›„์ธ 1์ดˆ(1,000ms)์— ์‘๋‹ต์ด ์•ˆ์™”๋‹ค๊ณ  ์žฌ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜๋„ ์žˆ๋‹ค. 

๋ฐ˜์‘ํ˜•