header-img
Info :
728x90

์›น ํฌ๋กค๋Ÿฌ๋ž€?

๋กœ๋ด‡(robot) ๋˜๋Š” ์ŠคํŒŒ์ด๋”(Spider)๋ผ๊ณ  ๋ถ€๋ฆ„
๊ฒ€์ƒ‰ ์—”์ง„์—์„œ ๋„๋ฆฌ ์“ฐ๋Š” ๊ธฐ์ˆ ๋กœ, ์›น์— ์ƒˆ๋กœ ์˜ฌ๋ผ์˜ค๊ฑฐ๋‚˜ ๊ฐฑ์‹ ๋œ ์ปจํ…์ธ ๋ฅด ์ฐพ์•„๋‚ด๋Š” ๊ฒƒ์ด ์ฃผ๋œ ๋ชฉ์ 
-> ๋ช‡๊ฐœ์˜ Web Page ์—์„œ ์‹œ์ž‘ํ•ด์„œ ๊ทธ ๋งํฌ๋ฅผ ๋”ฐ๋ผ ๋‚˜๊ฐ€๋ฉฐ ์ƒˆ๋กœ์šด ์ฝ˜ํ…์ธ ๋ฅผ ์ˆ˜์ง‘ํ•œ๋‹ค...

ํฌ๋กค๋Ÿฌ๊ฐ€ ์ด์šฉ๋˜๋Š” ๊ณณ๋“ค ?

1. ๊ฒ€์ƒ‰ ์—”์ง„ ์ธ๋ฑ์‹ฑ(Search Engine Indexing)

ํฌ๋กค๋Ÿฌ๊ฐ€ ์ œ์ผ ๋ณดํŽธ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ณณ
์›น ํŽ˜์ด์ง€๋ฅผ ๋ชจ์•„ ๊ฒ€์ƒ‰ ์—”์ง„์„ ์œ„ํ•œ ๋กœ์ปฌ ์ธ๋ฑ์Šค(local index)๋ฅผ ๋งŒ๋“ฌ
ex) Googlebot - ๊ตฌ๊ธ€(Google) ๊ฒ€์ƒ‰ ์—”์ง„์ด ์‚ฌ์šฉํ•˜๋Š” ์›น ํฌ๋กค๋Ÿฌ

2. ์›น ์•„์นด์ด๋น™(Web Archiving)

๋‚˜์ค‘์— ์‚ฌ์šฉํ•  ๋ชฉ์ ์œผ๋กœ ์žฅ๊ธฐ๋ณด๊ด€์„ ์œ„ํ•ด ์›น์—์„œ ์ •๋ณด๋ฅผ ๋ชจ์œผ๋Š” ์ ˆ์ฐจ๋ฅผ ๋งํ•จ
ex) ๋ฏธ๊ตญ ๊ตญํšŒ ๋„์„œ๊ด€(US Library of Congress), EU ์›น ์•„์นด์ด๋ธŒ ...

3. ์›น ๋งˆ์ด๋‹(Web Mining)

ex) ์œ ๋ช… ๊ธˆ์œต ๊ธฐ์—… ๋“ฑ์—์„œ ํฌ๋กค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ฃผ์ฃผ ์ดํšŒ ์ž๋ฃŒ๋‚˜ ์—ฐ์ฐจ ๋ณด๊ณ ์„œ(annual report)๋ฅผ ๋‹ค์šด๋ฐ›์•„ ๊ธฐ์—…์˜ ํ•ต์‹ฌ ์‚ฌ์—… ๋ฐฉํ–ฅ์„ ์•Œ์•„๋‚ด๊ธฐ๋„ ํ•œ๋‹จ๋‹ค

4. ์›น ๋ชจ๋‹ˆํ„ฐ๋ง(Web Monitoring)

์ธํ„ฐ๋„ท์—์„œ ์ €์ž‘๊ถŒ์ด๋‚˜ ์ƒํ‘œ๊ถŒ์ด ์นจํ•ด๋˜๋Š” ์‚ฌ๋ก€๋„ ๋ชจ๋‹ˆํ„ฐ๋ง์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
ex) ๋””์ง€๋งˆํฌ(Degimarc)์‚ฌ๋Š” ์›น ํฌ๋กค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด์ ํŒ ์ €์ž‘๋ฌผ์„ ์ฐพ์•„๋‚ด์„œ ๋ณด๊ณ ํ•œ๋‹ค๊ณ  ํ•จ..

1๋‹จ๊ณ„. ๋ฌธ์ œ ์ดํ•ด ๋ฐ ์„ค๊ณ„ ๋ฒ”์œ„ ํ™•์žฅ

์›น ํฌ๋กค๋Ÿฌ์˜ ๊ธฐ๋ณธ ์•Œ๊ณ ๋ฆฌ์ฆ˜

  1. URL ์ง‘ํ•ฉ์ด ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋ฉด, ํ•ด๋‹น URL๋“ค์ด ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ชจ๋“  ์›น ํŽ˜์ด์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•จ.
  2. ๋‹ค์šด๋ฐ›์€ ์›น ํŽ˜์ด์ง€์—์„œ URL๋“ค์„ ์ถ”์ถœ..
  3. ์ถ”์ถœ๋œ URL๋“ค์„ ๋‹ค์šด๋กœ๋“œํ•  URL ๋ชฉ๋ก์— ์ถ”๊ฐ€ํ•˜๊ณ  ์œ„์˜ ๊ณผ์ •์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฐ˜๋ณต

๊ทผ๋ฐ ํฌ๋กค๋Ÿฌ๋Š” ์ƒ๊ฐ๋ณด๋‹ค ๋‹จ์ˆœํ•˜๊ฒŒ ๋™์ž‘ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ์„œ.. ์–ด๋Š์ •๋„ ์ˆ˜์ค€์˜ ๊ทœ๋ชจ๋ฅผ ๊ฐ–๋Š” ์›น ํฌ๋กค๋Ÿฌ๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๊ฑด ์‰ฌ์šด ์ž‘์—…์ด ์•„๋‹ˆ๋ผ๊ณ  ํ•œ๋‹ค.

์›น ํฌ๋กค๋Ÿฌ ์„ค๊ณ„ ์‹œ์— ๊ณ ๋ คํ•ด์•ผํ•  ํฌ์ธํŠธ

  1. ๊ทœ๋ชจ ํ™•์žฅ์„ฑ: ์›น์€ ๊ฑฐ๋Œ€ํ•จ.. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋ณ‘ํ–‰์„ฑ(parallelism)์„ ํ™œ์šฉํ•˜๋ฉด ๋ณด๋‹ค ํšจ๊ณผ์ ์œผ๋กœ ์›น ํฌ๋กค๋ง์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. ์•ˆ์ •์„ฑ(robustness)
  3. ์˜ˆ์ ˆ(politeness): ์ˆ˜์ง‘ ๋Œ€์ƒ ์›น ์‚ฌ์ดํŠธ์— ์งง์€ ์‹œ๊ฐ„ ๋™์•ˆ ๋„ˆ๋ฌด ๋งŽ์€ ์š”์ฒญ์„ ๋ณด๋‚ด์„œ๋Š” ์•ˆ๋จ.
  4. ํ™•์žฅ์„ฑ(extensibility): ์ƒˆ๋กœ์šด ํ˜•ํƒœ์˜ ์ฝ˜ํ…์ธ ๋ฅผ ์ง€์›ํ•˜๊ธฐ๊ฐ€ ์‰ฌ์›Œ์•ผ ํ•จ.

2๋‹จ๊ณ„. ๊ฐœ๋žต์  ์„ค๊ณ„์•ˆ ์ œ์‹œ ๋ฐ ๋™์˜ ๊ตฌํ•˜๊ธฐ

์‹œ์ž‘ URL ์ง‘ํ•ฉ
์›น ํฌ๋กค๋Ÿฌ๊ฐ€ ํฌ๋กค๋ง์„ ์‹œ์ž‘ํ•˜๋Š” ์ถœ๋ฐœ์ 
์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ์ „์ฒด URL ๊ณต๊ฐ„์„ ์ž‘์€ ๋ถ€๋ถ„์ง‘ํ•ฉ์œผ๋กœ ๋‚˜๋ˆ„๋Š” ์ „๋žต์„ ์‚ฌ์šฉํ•จ

๋ฏธ์ˆ˜์ง‘ URL ์ €์žฅ์†Œ
ํ˜„๋Œ€ ํฌ๋กค๋Ÿฌ์˜ ํฌ๋กค๋ง ์ƒํƒœ
= (1) ๋‹ค์šด๋กœ๋“œํ•  URL (2) ๋‹ค์šด๋กœ๋“œ๋œ URL ์˜ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋ˆ ์„œ ๊ด€๋ฆฌ

๋ฏธ์ˆ˜์ง‘ URL ์ €์žฅ์†Œ(URL frontier): (2) '๋‹ค์šด๋กœ๋“œ ํ•  URL' ์„ ์ €์žฅํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ

FIFO(First-In-First-Out) ํ(Queue)๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋จ.

HTML ๋‹ค์šด๋กœ๋”

์ธํ„ฐ๋„ท์—์„œ ์›น ํŽ˜์ด์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ

๋„๋ฉ”์ธ ์ด๋ฆ„ ๋ณ€ํ™˜๊ธฐ
์›น ํŽ˜์ด์ง€ ๋‹ค์šด ์‹œ URL์„ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ ˆ์ฐจ๊ฐ€ ํ•„์š”

์ฝ˜ํ…์ธ  ํŒŒ์„œ
์›น ํŽ˜์ด์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•˜๋ฉด ํŒŒ์‹ฑ(parsing)๊ณผ ๊ฒ€์ฆ(validation) ์ ˆ์ฐจ๋ฅผ ๊ฑฐ์ณ์•ผ ํ•จ.
ํฌ๋กค๋ง ์„œ๋ฒ„ ์•ˆ์— ์ฝ˜ํ…์ธ  ํŒŒ์„œ๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด ํฌ๋กค๋ง ๊ณผ์ •์ด ๋Š๋ ค์ง€๊ฒŒ ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๋…๋ฆฝ๋œ ์ปดํฌ๋„ŒํŠธ๋กœ..

์ค‘๋ณต ์ฝ˜ํ…์ธ ์ธ๊ฐ€?
์›น ํŽ˜์ด์ง€์˜ ํ•ด์‹œ ๊ฐ’์„ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ด ์ œ์ผ ํšจ์œจ์ 

์ฝ˜ํ…์ธ  ์ €์žฅ์†Œ
HTML ๋ฌธ์„œ๋ฅผ ๋ณด๊ด€ํ•˜๋Š” ์‹œ์Šคํ…œ
์ €์žฅ์†Œ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์“ฐ์ผ ๊ธฐ์ˆ ์„ ๊ณ ๋ฅผ ๋•Œ์—๋Š” 1) ์ €์žฅํ•  ๋ฐ์ดํ„ฐ์˜ ์œ ํ˜•, 2) ํฌ๊ธฐ, 3) ์ €์žฅ์†Œ ์ ‘๊ทผ ๋นˆ๋„, 4) ๋ฐ์ดํ„ฐ์˜ ์œ ํšจ ๊ธฐ๊ฐ„ ๋“ฑ์„ ์ข…ํ•ฉ์ ์œผ๋กœ ๊ณ ๋ คํ•ด์•ผ ํ•จ.

URL ์ถ”์ถœ๊ธฐ
HTML ํŽ˜์ด์ง€๋ฅผ ํŒŒ์‹ฑํ•˜์—ฌ ๋งํฌ๋“ค์„ ๊ณจ๋ผ๋‚ด๋Š” ์—ญํ• 

URL ํ•„ํ„ฐ
1) ํŠน์ •ํ•œ ์ฝ˜ํ…์ธ  ํƒ€์ž…์ด๋‚˜ 2) ํŒŒ์ผ ํ™•์žฅ์ž๋ฅผ ๊ฐ–๋Š” URL, 3) ์ ‘์† ์‹œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” URL, 4) ์ ‘๊ทผ ์ œ์™ธ ๋ชฉ๋ก(deny list)์— ํฌํ•จ๋œ URL ๋“ฑ์„ ํฌ๋กค๋ง ๋Œ€์ƒ์—์„œ ์ œ์™ธํ•˜๋Š” ์—ญํ• 

์ด๋ฏธ ๋ฐฉ๋ฌธํ•œ URL
ํ•ด๋‹น ์ž๋ฃŒ ๊ตฌ์กฐ๋กœ ๋ธ”๋ฃธ ํ•„ํ„ฐ ๋‚˜ ํ•ด์‹œ ํ…Œ์ด๋ธ”์ด ๋„๋ฆฌ ์‚ฌ์šฉ๋จ

URL ์ €์žฅ์†Œ
์ด๋ฏธ ๋ฐฉ๋ฌธํ•œ URL์„ ๋ณด๊ด€ํ•˜๋Š” ์ €์žฅ์†Œ

3๋‹จ๊ณ„. ์ƒ์„ธ ์„ค๊ณ„

DFS๋ฅผ ์“ธ ๊ฒƒ์ธ๊ฐ€, BFS๋ฅผ ์“ธ ๊ฒƒ์ธ๊ฐ€?

์›น ํฌ๋กค๋Ÿฌ์˜ ๊ฒฝ์šฐ ๋ณดํ†ต ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰๋ฒ•(BFS:breath-first search)๋ฅผ ์‚ฌ์šฉ
= FIFO(first in first out) ํ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
= ํ•œ ์ชฝ์œผ๋กœ๋Š” ํƒ์ƒ‰ํ•  URL์„ ์ง‘์–ด๋„ฃ๊ณ , ๋‹ค๋ฅธ ํ•œ์ชฝ์œผ๋กœ๋Š” ๊บผ๋‚ด๊ธฐ๋งŒ ํ•œ๋‹ค.

[ ๋ฌธ์ œ์  ]
1. ํ•œ ํŽ˜์ด์ง€์—์„œ ๋‚˜์˜ค๋Š” ๋งํฌ์˜ ์ƒ๋‹น์ˆ˜๋Š” ๊ฐ™์€ ์„œ๋ฒ„๋กœ ๋˜๋Œ์•„๊ฐ.
2. ํ‘œ์ค€์  BFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ URL ๊ฐ„์— ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋‘์ง€ ์•Š๋Š”๋‹ค.
-> ๋ชจ๋“  ์›น ํŽ˜์ด์ง€๊ฐ€ ๊ฐ™์€ ์ˆ˜์ค€์˜ ํ’ˆ์งˆ, ๊ฐ™์€ ์ˆ˜์ค€์˜ ์ค‘์š”์„ฑ์„ ๊ฐ–์ง€๋Š” ์•Š๋Š”๋‹ค..
-> ํŽ˜์ด์ง€ ์ˆœ์œ„, ์‚ฌ์šฉ์ž ํŠธ๋ž˜ํ”ฝ์˜ ์–‘, ์—…๋ฐ์ดํŠธ ๋นˆ๋„ ๋“ฑ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ฒ™๋„์— ๋น„์ถ”์–ด ์ฒ˜๋ฆฌ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ตฌ๋ณ„ํ•˜๋Š”๊ฒŒ ์ ํ•ฉ.

๋ฏธ์ˆ˜์ง‘ URL ์ €์žฅ์†Œ

1. ์˜ˆ์˜

๋™์ผ ์›น ์‚ฌ์ดํŠธ์— ๋Œ€ํ•ด์„œ๋Š” ํ•œ ๋ฒˆ์— ํ•œ ํŽ˜์ด์ง€๋งŒ ์š”์ฒญํ•œ๋‹ค.
-> ์ด๊ฒƒ์„ ๋งŒ์กฑ ์‹œํ‚ค๋ ค๋ฉด, ์›น์‚ฌ์ดํŠธ์˜ ํ˜ธ์ŠคํŠธ๋ช…(hostname)๊ณผ ๋‹ค์šด๋กœ๋“œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—… ์Šค๋ ˆ๋“œ(worker thread) ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์œ ์ง€ํ•˜๋ฉด ๋œ๋‹ค.

  • ํ ๋ผ์šฐํ„ฐ(Queue Router): ๊ฐ™์€ ํ˜ธ์ŠคํŠธ์— ์†ํ•œ URL์€ ์–ธ์ œ๋‚˜ ๊ฐ™์€ ํ๋กœ ๊ฐ€๋„๋ก ๋ณด์žฅํ•˜๋Š” ์—ญํ• 
  • ๋งคํ•‘ ํ…Œ์ด๋ธ”(Mapping Table): ํ˜ธ์ŠคํŠธ ์ด๋ฆ„๊ณผ ํ ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ๋ณด๊ด€ํ•˜๋Š” ํ…Œ์ด๋ธ”
  • FIFO ํ(b1๋ถ€ํ„ฐ bn๊นŒ์ง€): ๊ฐ™์€ ํ˜ธ์ŠคํŠธ์— ์†ํ•œ URL์€ ์–ธ์ œ๋‚˜ ๊ฐ™์€ ํ์— ๋ณด๊ด€๋จ
  • ํ ์„ ํƒ๊ธฐ: ํ๋“ค์„ ์ˆœํšŒํ•˜๋ฉด์„œ ํ์—์„œ URL์„ ๊บผ๋‚ด์„œ ํ•ด๋‹น ํ์—์„œ ๋‚˜์˜จ URL์„ ๋‹ค์šด๋กœ๋“œํ•˜๋„๋ก ์ง€์ •๋œ ์ž‘์—… ์Šค๋ ˆ๋“œ์— ์ „๋‹ฌํ•˜๋Š” ์—ญํ• 
  • ์ž‘์—… ์Šค๋ ˆ๋“œ: ์ „๋‹ฌ๋œ URL์„ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•จ. ์ „๋‹ฌ๋œ URL์€ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋  ๊ฒƒ์ด๋ฉฐ, ์ž‘์—… ๊ฐ„์— ์ง€์—ฐ์‹œ๊ฐ„(delay)์„ ์ค„ ์ˆ˜ ์žˆ์Œ

2. ์šฐ์„ ์ˆœ์œ„

  • ์ˆœ์œ„๊ฒฐ์ •์žฅ์น˜(priortizer): URL์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ณ„์‚ฐํ•จ
  • ์ „๋ฉด ํ: ์šฐ์„ ์ˆœ์œ„ ๊ฒฐ์ • ๊ณผ์ •์„ ์ฒ˜๋ฆฌ
  • ํ›„๋ฉด ํ: ํฌ๋กค๋Ÿฌ๊ฐ€ ์˜ˆ์˜ ๋ฐ”๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๋„๋ก ๋ณด์ฆ

3. ์‹ ์„ ๋„

์ด ์ž‘์—…์„ ์ตœ์ ํ™” ํ•˜๊ธฐ ์œ„ํ•œ ์ „๋žต
1. ์›น ํŽ˜์ด์ง€์˜ ๋ณ€๊ฒฝ ์ด๋ ฅ(update history) ํ™œ์šฉ
2. ์šฐ์„ ์ˆœ์œ„๋ฅผ ํ™œ์šฉํ•˜์—ฌ, ์ค‘์š”ํ•œ ํŽ˜์ด์ง€๋Š” ์ข€ ๋” ์ž์ฃผ ์žฌ์ˆ˜์ง‘

4. ๋ฏธ์ˆ˜์ง‘ URL ์ €์žฅ์†Œ๋ฅผ ์œ„ํ•œ ์ง€์†์„ฑ ์ €์žฅ์žฅ์น˜

HTML ๋‹ค์šด๋กœ๋”

1. Robot.txt
์ด ํŒŒ์ผ์—๋Š” ํฌ๋กค๋Ÿฌ๊ฐ€ ์ˆ˜์ง‘ํ•ด๋„ ๋˜๋Š” ํŽ˜์ด์ง€ ๋ชฉ๋ก์ด ๋“ค์–ด์žˆ์Œ

2. ์„ฑ๋Šฅ ์ตœ์ ํ™”
HTML ๋‹ค์šด๋กœ๋”์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ธฐ๋ฒ•๋“ค

  1. ๋ถ„์‚ฐ ํฌ๋กค๋ง
  2. ๋„๋ฉ”์ธ ์ด๋ฆ„ ๋ณ€ํ™˜ ์บ์‹œ
    ๋„๋ฉ”์ธ ์ด๋ฆ„ ๋ณ€ํ™˜๊ธฐ(DNS Resolver)๋Š” ํฌ๋กค๋Ÿฌ ์„ฑ๋Šฅ์˜ ๋ณ‘๋ชฉ ์ค‘ ํ•˜๋‚˜์ด๋ฐ, ์ด๋Š” DNS ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›๋Š” ์ž‘์—…์˜ ๋™๊ธฐ์  ํŠน์„ฑ ๋•Œ๋ฌธ
    -> DNS ์กฐํšŒ ๊ฒฐ๊ณผ๋กœ ์–ป์–ด์ง„ ๋„๋ฉ”์ธ ์ด๋ฆ„๊ณผ IP ์ฃผ์†Œ ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์บ์‹œ์— ๋ณด๊ด€ํ•ด ๋†“๊ณ  ํฌ๋ก  ์žก(cron job) ๋“ฑ์„ ๋Œ๋ ค ์ฃผ๊ธฐ์ ์œผ๋กœ ๊ฐฑ์‹ ํ•˜๋„๋ก ํ•ด ๋†“์œผ๋ฉด ์„ฑ๋Šฅ ๋†’์ผ ์ˆ˜ ์ž‡์Œ
  3. ์ง€์—ญ์„ฑ
  4. ์งง์€ ํƒ€์ž„์•„์›ƒ

3. ์•ˆ์ •์„ฑ

  1. ์•ˆ์ • ํ•ด์‹œ(consistent hashing)
  2. ํฌ๋กค๋ง ์ƒํƒœ ๋ฏธ ์ˆ˜์ง‘ ๋ฐ์ดํ„ฐ ์ €์žฅ: ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ์—๋„ ์‰ฝ๊ฒŒ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋„๋ก..
  3. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ(Exception handling)
  4. ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ(Data Validation)

4. ํ™•์žฅ์„ฑ

PNG ๋‹ค์šด๋กœ๋”์™€ ์›น๋ชจ๋‹ˆํ„ฐ(์›น์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์—ฌ ์ €์ž‘๊ถŒ์ด๋‚˜ ์ƒํ‘œ๊ถŒ์ด ์นจํ•ด๋˜๋Š” ์ผ์„ ๋ง‰๋Š” ๋ชจ๋“ˆ)

5. ๋ฌธ์ œ ์žˆ๋Š” ์ฝ˜ํ…์ธ  ๊ฐ์ง€ ๋ฐ ํšŒํ”ผ

  1. ์ค‘๋ณต ์ปจํ…์ธ 
    ์›น ์ฝ˜ํ…์ธ ์˜ ์•ฝ 30% ๊ฐ€๋Ÿ‰์€ ์ค‘๋ณต
    ํ•ด์‹œ๋‚˜ ์ฒดํฌ์„ฌ(check-sum)์„ ์‚ฌ์šฉํ•˜๋ฉด ์ค‘๋ณต ์ฝ˜ํ…์ธ ๋ฅผ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ํƒ์ง€ ๊ฐ€๋Šฅ
  2. ๊ฑฐ๋ฏธ ๋ซ(Spider Map)
    ํฌ๋กค๋Ÿฌ๋ฅผ ๋ฌดํ•œ ๋ฃจํ”„์— ๋น ํŠธ๋ฆฌ๋„๋ก ์„ค๊ณ„ํ•œ ์›น ํŽ˜์ด์ง€
    ๋ซ์„ ์ž๋™์œผ๋กœ ํ”ผํ•ด๊ฐ€๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŒ๋“ค๊ธฐ๋Š” ๋งค์šฐ ์–ด๋ ค์›€
    = ์‚ฌ๋žŒ์ด ์ˆ˜์ž‘์—…์œผ๋กœ ๋ซ์„ ํ™•์ธํ•˜๊ณ  ์ฐพ์•„๋‚ธ ํ›„์— ๋ซ์ด ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ํฌ๋กค๋Ÿฌ ํƒ์ƒ‰ ๋Œ€์ƒ์—์„œ ์ œ์™ธํ•˜๊ฑฐ๋‚˜ URL ํ•„ํ„ฐ ๋ชฉ๋ก์— ๊ฑธ์–ด๋‘๋Š” ๊ฒƒ
  3. ๋ฐ์ดํ„ฐ ๋…ธ์ด์ฆˆ

4๋‹จ๊ณ„. ๋งˆ๋ฌด๋ฆฌ

์ถ”๊ฐ€ ๋…ผ์˜ ํฌ์ธํŠธ

1. ์„œ๋ฒ„ ์ธก ๋ Œ๋”๋ง(server-side rendering)
๋งŽ์€ ์›น ์‚ฌ์ดํŠธ๊ฐ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(Java Script), AJAX ๋“ฑ์˜ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด์„œ ๋งํฌ๋ฅผ ์ฆ‰์„์—์„œ ๋งŒ๋“ค์–ด ๋‚ด๋Š”๋ฐ, ์›น ํŽ˜์ด์ง€๋ฅผ ๊ทธ๋ƒฅ ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ๋‹ค์šด ๋ฐ›์•„์„œ ํŒŒ์‹ฑํ•ด๋ณด๋ฉด ๋™์ ์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๋งํฌ๋Š” ๋ฐœ๊ฒฌํ•  ์ˆ˜๊ฐ€ ์—†๊ฒŒ ๋œ๋‹ค.
-> ๋™์  ๋ Œ๋”๋ง(dynamic rendering) ์œผ๋กœ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ

2. ์›์น˜ ์•Š๋Š” ํŽ˜์ด์ง€ ํ•„ํ„ฐ๋ง

3. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‹ค์ค‘ํ™” ๋ฐ ์ƒค๋”ฉ

4. ์ˆ˜ํ‰์  ๊ทœ๋ชจ ํ™•์žฅ์„ฑ(horizontal scalability)
์ˆ˜ํ‰์  ๊ทœ๋ชจ ํ™•์žฅ์„ฑ์„ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐ์— ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์„œ๋ฒ„๊ฐ€ ์ƒํƒœ์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ, ์ฆ‰ ๋ฌด์ƒํƒœ(stateless) ์„œ๋ฒ„๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค.

5. ๊ฐ€์šฉ์„ฑ, ์ผ๊ด€์„ฑ, ์•ˆ์ •์„ฑ

6. ๋ฐ์ดํ„ฐ ๋ถ„์„ ์†”๋ฃจ์…˜(analytics)

728x90
๋”๋ณด๊ธฐ
Document/Self Study