1. Blocking I/O
νλμ μ€λ λκ° I/Oμ μν΄μ μ°¨λ¨λμ΄ λκΈ°νλ κ²
- λ©ν°μ€λ λ© κΈ°λ²μΌλ‘ μΆκ° μ€λ λλ₯Ό ν λΉνμ¬ μ°¨λ¨λ κ·Έ μκ°μ ν¨μ¨μ μΌλ‘ μ¬μ©ν μλ μμΌλ, μ¬λ¬ λ¬Έμ λ°μ
- 컨ν μ€νΈ μ€μμΉμΌλ‘ μΈν μ€λ λ μ ν λΉμ©
- κ³Όλ€ν λ©λͺ¨λ¦¬ μ¬μ©μΌλ‘ μ€λ²ν€λ λ°μ κ°λ₯
- μλ‘μ΄ μ€λ λκ° μ€νλλ©΄ JVMμμλ ν΄λΉ μ€λ λλ₯Ό μν μ€ν μμμ μΌλΆ ν λΉνλ©°, μλ‘μ΄ μ€λ λ μ 보λ μ€ν μμμ κ°λ³ νλ μ ννλ‘ μ μ₯λ¨
π κ°κ°μ μ€λ λ λ΄λΆμμ λ λ€λ₯Έ μμ μ μ²λ¦¬νκΈ° μν΄ μΆκ°λ‘ ν λΉνκ² λλ€λ©΄ λ©λͺ¨λ¦¬ μ¬μ©λ κ°λΉνκΈ° νλ€ μ λλ‘ λμ΄λ¨
- μλ‘μ΄ μ€λ λκ° μ€νλλ©΄ JVMμμλ ν΄λΉ μ€λ λλ₯Ό μν μ€ν μμμ μΌλΆ ν λΉνλ©°, μλ‘μ΄ μ€λ λ μ 보λ μ€ν μμμ κ°λ³ νλ μ ννλ‘ μ μ₯λ¨
- μ€λ λ νμμ μλ΅μ§μ° λ°μ
- μΌμ κ°μμ μ€λ λλ₯Ό 미리 μμ±ν΄μ νμ μ μ₯ν΄ λκ³ μ¬μ©μμ μμ²μ΄ λ€μ΄μ€λ©΄ νμμ κΊΌλ΄ μ¬μ© κ°λ₯νλ, μ ν μ€λ λκ° μλ€λ©΄ μ¬μ© κ°λ₯ν μ€λ λκ° ν보λκΈ° μ κΉμ§ μλ΅ μ§μ° λ°μ
2. Non-Blocking I/O
μμ μ€λ λμ μ’ λ£ μ¬λΆμ κ΄κ³μμ΄ μμ²ν μ€λ λλ μ°¨λ¨λμ§ μμ
Blocking I/Oλ³΄λ€ λ μ μ μμ μ€λ λλ₯Ό μ¬μ©νκΈ° λλ¬Έμ ν¨μ¨μ
β³οΈ λ¨μ
- μ€λ λ λ΄λΆμ CPUλ₯Ό λ§μ΄ μ¬μ©νλ μμ μ΄λ ν¬ν¨λ κ²½μ°μλ μ±λ₯μ μ μν₯
- μ¬μ©μμ μμ²μμ μλ΅κΉμ§μ μ 체 κ³Όμ μ Blocking I/O μμκ° ν¬ν¨λ κ²½μ°μλ Non-Blockingμ μ΄μ λ°ννκΈ° νλ¦
3. Non-Blocking I/O λ°©μμ ν΅μ μ΄ μ ν©ν μμ€ν
- λλμ μμ² νΈλν½μ΄ λ°μνλ μμ€ν
- λ§μ΄ν¬λ‘ μλΉμ€ κΈ°λ° μμ€ν
- μ€νΈλ¦¬λ° λλ μ€μκ° μμ€ν
'Spring > Spring WebFlux' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[π Reactive] 5. Reactor (0) | 2024.12.19 |
---|---|
[π Reactive] 4. Reactive νλ‘κ·Έλλ°μ μν μ¬μ μ§μ (1) | 2024.12.18 |
[π Reactive] 2. Reactive Streams (0) | 2024.12.16 |
[π Reactive] 1. Reactive μμ€ν κ³Ό Reactive νλ‘κ·Έλλ° (0) | 2024.12.16 |
[WebFlux] Reactor μ°μ°μ μ 리 (0) | 2024.07.17 |