Contents

Edge function에 λŒ€ν•˜μ—¬

   Jun 24, 2023     1 min read

Edge function에 λŒ€ν•œ κΈ€μž…λ‹ˆλ‹€.

Edge functionμ΄λž€?

Edge function은 ν΄λΌμš°λ“œ ν™˜κ²½μ—μ„œ μ‹€ν–‰λ˜λŠ” μ„œλ²„λ¦¬μŠ€ μ»΄ν“¨νŒ… κΈ°λŠ₯μž…λ‹ˆλ‹€. 일반적으둜 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ˜λŠ” API와 같은 ν΄λΌμš°λ“œ μ„œλΉ„μŠ€μ˜ μΌλΆ€λ‘œ μ‚¬μš©λ©λ‹ˆλ‹€.

제 νšŒμ‚¬μ—μ„œ μ‚¬μš©ν•˜κ³  μžˆλŠ” Vercelκ³Ό NextJSλ₯Ό μ€‘μ‹¬μœΌλ‘œ μ„€λͺ…ν•˜κ² μŠ΅λ‹ˆλ‹€.

Vercel
Vercel μ΄λž€?

Vercel은 정적 μ›Ήμ‚¬μ΄νŠΈ 및 μ‹±κΈ€ νŽ˜μ΄μ§€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜(SPA)을 μœ„ν•œ μ„œλ²„λ¦¬μŠ€ ν”Œλž«νΌμž…λ‹ˆλ‹€. Vercel의 μ• μ¦ˆνŽ‘μ…˜(AS Function)은 이 ν”Œλž«νΌμ—μ„œ μ œκ³΅ν•˜λŠ” μ„œλ²„λ¦¬μŠ€ ν•¨μˆ˜(Serverless Functions)의 ν•œ ν˜•νƒœμž…λ‹ˆλ‹€.

Vercel Edge function

ν΄λΌμš°λ“œ ν™˜κ²½μ—μ„œ μ‹€ν–‰λ˜λŠ” μž‘μ€ μ½”λ“œ 쑰각으둜, νŠΉμ • HTTP μš”μ²­μ— λŒ€ν•œ 응닡을 μƒμ„±ν•˜κ³  μ²˜λ¦¬ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. μ΄λŠ” μ„œλ²„λ¦¬μŠ€ μ•„ν‚€ν…μ²˜μ˜ 핡심 κ°œλ… 쀑 ν•˜λ‚˜μΈ ν•¨μˆ˜ 계산(Function-as-a-Service, FaaS)의 κ΅¬ν˜„ λ°©μ‹μž…λ‹ˆλ‹€.

Vercel의 λ‹€λ₯Έ κΈ°λŠ₯κ³Ό ν†΅ν•©ν•˜μ—¬ μ‚¬μš©ν•  수 있으며, 정적 μ›Ήμ‚¬μ΄νŠΈμ™€ ν•¨κ»˜ ν˜ΈμŠ€νŒ…λ˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 전체 κΈ°λŠ₯을 κ°œλ°œν•˜κ³  λ°°ν¬ν•˜λŠ” 데 μ‚¬μš©λ  수 μžˆμŠ΅λ‹ˆλ‹€.

NextJS
NextJS μ΄λž€?

React 기반의 ν”„λ ˆμž„μ›Œν¬λ‘œμ„œ, SSR(Server-Side Rendering), 정적 μ‚¬μ΄νŠΈ 생성(Static Site Generation), ν΄λΌμ΄μ–ΈνŠΈ μ‚¬μ΄λ“œ λΌμš°νŒ… 등을 μ§€μ›ν•©λ‹ˆλ‹€. Next.jsμ—μ„œ μ• μ¦ˆνŽ‘μ…˜μ€ μ„œλ²„λ¦¬μŠ€ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ λ°±μ—”λ“œ λ‘œμ§μ„ κ΅¬ν˜„ν•˜κ³  μ‹€ν–‰ν•  수 μžˆλŠ” κΈ°λŠ₯μž…λ‹ˆλ‹€.

NextJS Edge function

API 라우트λ₯Ό μƒμ„±ν•˜λŠ” λ°©μ‹μœΌλ‘œ κ΅¬ν˜„λ©λ‹ˆλ‹€. .js λ˜λŠ” .ts ν™•μž₯자λ₯Ό 가진 νŒŒμΌμ„ μƒμ„±ν•˜κ³ , ν•΄λ‹Ή 파일 λ‚΄μ—μ„œ API μ—”λ“œν¬μΈνŠΈμ˜ λ‘œμ§μ„ μž‘μ„±ν•©λ‹ˆλ‹€. 이 νŒŒμΌμ€ Next.js μ• ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό ν•¨κ»˜ λΉŒλ“œλ˜λ©°, μƒμ„±λœ API μ—”λ“œν¬μΈνŠΈλŠ” ν΄λΌμ΄μ–ΈνŠΈλ‚˜ λ‹€λ₯Έ λΆ€λΆ„μ—μ„œ ν˜ΈμΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ”ν•˜μ—¬ Next.js μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ‚΄μ—μ„œ λ°±μ—”λ“œ λ‘œμ§μ„ κ΅¬ν˜„ν•˜κ³ , λ°μ΄ν„°λ² μ΄μŠ€μ™€μ˜ μƒν˜Έ μž‘μš©, μ™ΈλΆ€ API 호좜, 인증 및 인가, 파일 μ—…λ‘œλ“œ λ“±μ˜ μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 Next.js μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ μ‚¬μ΄μ˜ μ™„μ „ν•œ 톡합을 μ œκ³΅ν•˜λ©°, λ‹€μ–‘ν•œ μ’…λ₯˜μ˜ 데이터 μš”μ²­μ„ μ²˜λ¦¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.