/images/avatar.png

🍞πŸ₯πŸ₯– 라일리의 μ½”λ“œ λΆ€μŠ€λŸ¬κΈ° 🍞πŸ₯πŸ₯–

가상 λ©΄μ ‘ μ‚¬λ‘€λ‘œ λ°°μš°λŠ” λŒ€κ·œλͺ¨ μ‹œμŠ€ν…œ 섀계 기초 Study [5μž₯] μ•ˆμ • ν•΄μ‹œ 섀계

Note νŒ€ λ‚΄μ—μ„œ μ§„ν–‰ν•˜λŠ” Study 정리 μž…λ‹ˆλ‹€. ν•¨κ»˜ λ…Όμ˜ν•˜κ³  싢은 주제 챕터가 점점 μ–΄λ €μ›Œ μ§‘λ‹ˆλ‹€. ν•΄μ‹œ ν‚€κ°€ μ €μž₯λ˜λŠ” μ„œλ²„λ₯Ό 탐색할 λ•Œ μ™œ μ‹œκ³„λ°©ν–₯으둜 탐색을 ν–ˆμ„μ§€ 문득 κΆκΈˆν•΄μ§€λ„€μš”? μ„±λŠ₯κ³Ό λ©”λͺ¨λ¦¬ 두 개의 밸런슀λ₯Ό νƒ€ν˜‘ν•˜λŠ” 결정은 μ–΄λ €μ›Œ λ³΄μž…λ‹ˆλ‹€. 이번 μ±•ν„°μ˜ λ‚΄μš©μ„ λ– λ‚˜μ„œ μ›Ή μ„œλΉ„μŠ€μ— λŒ€ν•œ νŠœλ‹ λ…Έν•˜μš° 같은 게 μžˆμœΌμ‹ κ°€μš”? (μš”μ²­ μ œν•œ λ“±λ“± μΈν”„λΌμ μœΌλ‘œ λͺ¨λ“  것듀) μ„œλΉ„μŠ€μ˜ λ©”λͺ¨λ¦¬ μ„€μ • λ“±λ“± μ–΄λ– ν•œ κ·Όκ±°λ₯Ό 톡해 μ„€μ •ν•˜κ³  μ–΄λ–€ 데이터λ₯Ό μ°Έκ³ ν•˜λŠ”μ§€μš”? (예λ₯Ό λ“€μ–΄ λΆ€ν•˜ ν…ŒμŠ€νŠΈλ₯Ό 톡해 예츑 ν•œλ‹€ λ“±) ν•«μŠ€νŒŸ ν‚€ 문제λ₯Ό μ–΄λ–»κ²Œ ν•΄κ²°ν•˜λŠ”μ§€ μžμ„Έν•œ μ„€λͺ…이 μžˆμ—ˆμœΌλ©΄ μ’‹μ•˜μ—ˆμ„ 것 κ°™μŠ΅λ‹ˆλ‹€… νŠΉμ • 유λͺ…μΈμ˜ 데이터λ₯Ό 예둜 λ“€μ—ˆλŠ”λ° λ§Œμ•½ 인덱슀 ν‚€κ°€ μ•„λ‹Œ 데이터 λ•Œλ¬Έμ— μ ‘κ·Ό λΉˆλ„μˆ˜κ°€ 높아지면 ν‚€λ₯Ό 재 배치 ν•  수 μžˆμ„μ§€?

가상 λ©΄μ ‘ μ‚¬λ‘€λ‘œ λ°°μš°λŠ” λŒ€κ·œλͺ¨ μ‹œμŠ€ν…œ 섀계 기초 Study [4μž₯] 처리율 μ œν•œ μž₯치의 섀계

Note νŒ€ λ‚΄μ—μ„œ μ§„ν–‰ν•˜λŠ” Study 정리 μž…λ‹ˆλ‹€. ν•¨κ»˜ λ…Όμ˜ν•˜κ³  싢은 주제 점점 λ‚΄μš©μ΄ μ–΄λ €μ›Œμ§€λŠ” 것 κ°™λ‹€… 우리 μ„œλΉ„μŠ€ κ²½μš°λ„ μ‚¬μš©μž 인증을 μœ„ν•΄ μ—¬λŸ¬ MSA μ„œλ²„μ—μ„œ ν•˜λ‚˜μ˜ 인증 μ„œλΉ„μŠ€λ₯Ό μ˜μ‘΄ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 미듀웨어λ₯Ό λ„μž…ν•˜λ©΄ 쒋을 것 κ°™μ•„μš”. 이전에 API 게이트 μ„œλΉ„μŠ€λ₯Ό κ°œλ°œν•΄λ‘μ—ˆλ˜ 것 같은데 … 우리 μ„œλΉ„μŠ€μ—λŠ” μ–΄λ– ν•œ 처리율 μ œν•œ μž₯μΉ˜κ°€ μžˆμ„κΉŒμš”? (인프라 적으둜 λͺ¨λ“ ) 깊게 물어본적이 μ—†λŠ” 것 κ°™μ•„ λ°˜μ„±ν•΄ λ΄…λ‹ˆλ‹€… 토큰 버킷 μ•Œκ³ λ¦¬μ¦˜μ—μ„œ IP μ£Όμ†Œλ³„λ‘œ 처리율 μ œν•œμ΄ ν•„μš”ν•˜λ©΄ IP μ£Όμ†Œλ§ˆλ‹€ 버킷을 ν•˜λ‚˜μ”© ν• λ‹Ήν•˜κ²Œ 되면 버킷이 μ—„μ²­ λ§Žμ•„μ§ˆν…λ°… λˆ„μΆœ 버킷 μ•Œκ³ λ¦¬μ¦˜ λ‹¨μ μ€‘μ—μ„œ μœˆλ„ 경계 뢀근에 μˆœκ°„μ μœΌλ‘œ λ§Žμ€ νŠΈλž˜ν”½μ΄ λͺ°λ¦΄ 경우 μœˆλ„μ— ν• λ‹Ήλœ 양보닀 더 λ§Žμ€ μš”μ²­μ΄ μ²˜λ¦¬λ˜μ–΄ λ¬Έμ œλΌλŠ”λ° λ‹€λ₯Έ μœˆλ„μš°μ— μžˆκΈ°λ•Œλ¬Έμ— 상관없지 μ•Šμ„κΉŒν•©λ‹ˆλ‹€ ?

가상 λ©΄μ ‘ μ‚¬λ‘€λ‘œ λ°°μš°λŠ” λŒ€κ·œλͺ¨ μ‹œμŠ€ν…œ 섀계 기초 Study [3μž₯] μ‹œμŠ€ν…œ 섀계 λ©΄μ ‘ κ³΅λž΅λ²•

Note νŒ€ λ‚΄μ—μ„œ μ§„ν–‰ν•˜λŠ” Study 정리 μž…λ‹ˆλ‹€. ν•¨κ»˜ λ…Όμ˜ν•˜κ³  싢은 주제 면접관이 λ˜μ—ˆμ„ λ•Œ 주둜 μ–΄λ–€ μ§ˆλ¬Έλ“€μ„ ν•˜μ‹œλ‚˜μš”? ν˜Ήμ€ λ°›μ•„λ³Έ 질문 쀑 기얡에 λ‚¨λŠ” 질문 λ©΄μ ‘μžκ°€ λ˜μ—ˆμ„ λ•Œ μ–΄λ–€ μ§ˆλ¬Έμ„ ν•΄μ•Ό 어필을 ν•  수 μžˆλ‚˜μš”? 문제 이해 및 섀계 λ²”μœ„ ν™•μ • μš”κ΅¬μ‚¬ν•­μ„ μ™„μ „νžˆ μ΄ν•΄ν•˜μ§€ μ•Šκ³  닡을 λ‚΄λ†“λŠ” ν–‰μœ„λŠ” 쒋지 μ•Šλ‹€. -> 깊이 μƒκ°ν•˜κ³  μš”κ΅¬μ‚¬ν•­κ³Ό 가정을 λΆ„λͺ…νžˆ ν•˜μž μš”κ΅¬μ‚¬ν•­μ— λŒ€ν•œ 질문 μ˜ˆμ‹œ ꡬ체적으둜 μ–΄λ–€ κΈ°λŠ₯듀을 λ§Œλ“€μ–΄μ•Ό ν•˜λ‚˜? μ œν’ˆ μ‚¬μš©μž μˆ˜λŠ” μ–Όλ§ˆλ‚˜ λ˜λ‚˜?

가상 λ©΄μ ‘ μ‚¬λ‘€λ‘œ λ°°μš°λŠ” λŒ€κ·œλͺ¨ μ‹œμŠ€ν…œ 섀계 기초 Study [2μž₯] 개랡적인 규λͺ¨ μΆ”μ •

Note νŒ€ λ‚΄μ—μ„œ μ§„ν–‰ν•˜λŠ” Study 정리 μž…λ‹ˆλ‹€. ν•¨κ»˜ λ…Όμ˜ν•˜κ³  싢은 주제 SNS μ„œλΉ„μŠ€μΈ 우리 μ„œλΉ„μŠ€λŠ” DAU(Daily active users)λ₯Ό μ‚°μΆœν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. 우리 νšŒμ‚¬μ˜ μ„œλΉ„μŠ€μ˜ ν™œμ„±μœ μ €λŠ” μ–΄λ–»κ²Œ μ •μ˜ ν•  μˆ˜μžˆμ„κΉŒμš”? 2의 제곱수 λ³Όλ₯¨μ˜ λ‹¨μœ„λ₯Ό 2의 제곱수둜 ν‘œν˜„ν•˜λ©΄ μ–΄λ–»κ²Œ λ˜λŠ”μ§€ μ•Œμ•„μ•Ό ν•œλ‹€. ν”νžˆ μ“°μ΄λŠ” 데이터 λ³Όλ₯¨ λ‹¨μœ„ 2의제곱 κ·Όμ‚¬μΉ˜ 이름 μΆ•μ•½ν˜• 10 1천만(thousand) 1ν‚¬λ‘œλ°”μ΄νŠΈ(Kilobyte) 1KB 20 1백만(milion) 1λ©”κ°€λ°”μ΄νŠΈ(Megabyte) 1MB 30 10μ–΅(bilion) 1κΈ°κ°€λ°”μ΄νŠΈ(Gigabyte) 1GB 40 1μ‘°(trilion) 1ν…ŒλΌλ°”μ΄νŠΈ(Terabyte) 1TB 50 1000μ‘°(quadrilion) 1νŽ˜νƒ€λ°”μ΄νŠΈ(Petabyte) 1PB λͺ¨λ“  ν”„λ‘œκ·Έλž˜λ¨Έκ°€ μ•Œμ•„μ•Ό ν•˜λŠ” 응닡 지연 κ°’ 이듀 κ°€μš΄λ° λͺ‡λͺ‡μ€ 더 λΉ λ₯Έ 컴퓨터가 λ“±μž₯ν•˜λ©΄μ„œ μœ νš¨ν•˜μ§€ μ•Šκ²Œ λ˜μ—ˆμ§€λ§Œ 아직도 이 μˆ˜μΉ˜λ“€μ€ 컴퓨터 μ—°μ‚°λ“€μ˜ 처리 속도가 μ–΄λŠ 정도인지 μ§μž‘ν•  수 μžˆλ„λ‘ ν•΄μ€€λ‹€.

가상 λ©΄μ ‘ μ‚¬λ‘€λ‘œ λ°°μš°λŠ” λŒ€κ·œλͺ¨ μ‹œμŠ€ν…œ 섀계 기초 Study [1μž₯] μ‚¬μš©μž μˆ˜μ— λ”°λ₯Έ 규λͺ¨ ν™•μž₯μ„±

Note νŒ€ λ‚΄μ—μ„œ μ§„ν–‰ν•˜λŠ” Study 정리 μž…λ‹ˆλ‹€. ν•¨κ»˜ λ…Όμ˜ν•˜κ³  싢은 주제 우리 μ„œλΉ„μŠ€μ˜ 검색기λŠ₯은 아직 μ—†μ§€λ§Œ μΈμŠ€νƒ€κ·Έλž¨μ²˜λŸΌ νƒœκ·Έ, μœ μ €, μž₯μ†Œ λ“± 톡합 검색 κΈ°λŠ₯이 μΆ”κ°€λ˜λ©΄ μ–΄λ–€ ꡬ쑰λ₯Ό κ°€μ Έκ°€λ©΄ μ’‹μ„κΉŒμš”? λ‹¨μΌμ„œλ²„ λͺ¨λ“  μ»΄ν¬λ„ŒνŠΈκ°€ 단 ν•œλŒ€μ˜ μ„œλ²„μ—μ„œ μ‹€ν–‰λ˜λŠ” κ°„λ‹¨ν•œ μ‹œμŠ€ν…œ 도메인 이름을 μ΄μš©ν•˜μ—¬ μ›Ήμ‚¬μ΄νŠΈμ— 접속. 도메인 이름은 도메인 이름 μ„œλΉ„μŠ€(Domain Name Service, DNS)에 μ§ˆμ˜ν•˜μ—¬ IP μ£Όμ†Œ λ°˜ν™˜ DNS 질의 결과둜 IP λ°˜ν™˜ IP μ£Όμ†Œλ‘œ HTTPHyperText Transfer Protocol μš”μ²­μ΄ 전달 μš”μ²­μ„ 받은 μ›Ή μ„œλ²„λŠ” HTML νŽ˜μ΄μ§€ JSON ν˜•νƒœμ˜ 응닡을 λ°˜ν™˜ λ°μ΄ν„°λ² μ΄μŠ€ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(Relational Data-base Management System, RDBMS)κ°€ κ°œλ°œμžλ“€μ—κ²ŒλŠ” μ΅μˆ™ν•˜κ³  μ˜€λžœκΈ°κ°„ λ™μ•ˆ 잘 μ‚¬μš©λ˜μ–΄μ§„ μ‹œμŠ€ν…œμ΄μ§€λ§Œ κ΅¬μΆ•ν•˜λ €λŠ” μ‹œμŠ€ν…œμ— 따라 κΌ­ μ΅œμ„ μ˜ μ‹œμŠ€ν…œμ€ 아닐 수 μžˆλ‹€.

[Go μ–Έμ–΄λ₯Ό ν™œμš©ν•œ λ„€νŠΈμ›Œν¬ ν”„λ‘œκ·Έλž˜λ°] 1. λ„€νŠΈμ›Œν¬ μ‹œμŠ€ν…œ κ°œμš”

Go μ–Έμ–΄λ₯Ό ν™œμš©ν•œ λ„€νŠΈμ›Œν¬ ν”„λ‘œκ·Έλž˜λ° μ±… 정리 컴퓨터 λ„€νŠΈμ›Œν¬(coumputer network) λž€ 두 개 μ΄μƒμ˜ μž₯치 λ˜λŠ” λ…Έλ“œκ°„μ˜ 연결을 λ§ν•œλ‹€. λ„€νŠΈμ›Œν¬ ν† ν΄λ‘œμ§€ μœ ν˜• λ„€νŠΈμ›Œν¬ ν† ν΄λ‘œμ§€topology λž€ λ„€νŠΈμ›Œν¬μƒμ˜ λ…Έλ“œμ˜ ꡬ성을 λ§ν•œλ‹€. ν† ν΄λ‘œμ§€μ˜ μœ ν˜•μ€ μ λŒ€μ  μ—°κ²°ν˜•, 데이지 μ²΄μΈν˜•, λ²„μŠ€ν˜•, λ§ν˜•, μŠ€νƒ€ν˜•, κ·Έλ¬Όν˜•μ˜ 6가지 κΈ°λ³Έ λ²”μ£Όλ‘œ λ‚˜λ‰œλ‹€. 1. μ λŒ€μ  point-to-point μ—°κ²°ν˜• 두 λ…Έλ“œκ°€ ν•˜λ‚˜μ˜ 연결을 곡유 ν•œλ‹€. μ΄λŸ¬ν•œ μœ ν˜•μ˜ λ„€νŠΈμ›Œν¬ 연결을 λ“œλ¬Όμ§€λ§Œ 두 λ…Έλ“œ 간에 직접 톡신이 ν•„μš”ν•  λ•Œ 맀우 μœ μš©ν•˜λ‹€. 2. 데이지 체인 daisy chain μ—°κ²°ν˜• 일련의 μ λŒ€μ  μ—°κ²° μΆœλ°œμ§€ λ…Έλ“œμ™€ λͺ©μ μ§€ λ…Έλ“œ μ‚¬μ΄μ˜ 쀑간 λ…Έλ“œλ₯Ό 일반적으둜 홉이라고 ν•œλ‹€.