κ²μκ°λ°μ ν΄λ΄€μ§λ§ μ λν°λ μ΄λ³΄μΈλ°...
μ λλ©μ΄μ κ°μ΄ νλ μμ λΆμ°ν΄μΌνλ건 μ λν° μ½λ£¨ν΄ μ¬μ©νλκ±° λ§λκ±° κ°μλ°
κ·Όλ° ν΅μ μ΄λ μ€λ걸리λ μμ μ μ μ½λ£¨ν΄ μ¬μ©νλΌλκ±°?
κ·Έκ±° λ©μΈμ€λ λμμ λμκ°λκ±°μμΒ
λκΈ°μμΌλ‘ λμνκ²λλ©΄ ν ν±, κ·Έλ¬λκΉ λΈννμμ΄ μ€λ걸리λ μμ λ§νΌ κΈΈμ΄μ§κ³ , μ΄κ±΄ λ€λ₯΄κ² λ§νλ©΄ κ²μμ μ€ν°ν°λ§ νΉμ ν리μ§μ΄ κ±Έλ¦°λ€λ μκΈ°μ λ°λ©΄ μ½λ£¨ν΄μ²λΌ μ¬λ¬ ν±μ λλ μ λμν μ μλ ννκ° λλ©΄ μ μ΄λ κ²μμ΄ λ©μΆλ μΌμ μμμ΄ - dc App
λ¬Όλ‘ μ¬μ£Όλ§ μλ€λ©΄ μ½λ£¨ν΄ λμ λ€μ€ μ°λ λμμ λμνλλ‘ μ½λλ₯Ό μ§€ μλ μκ² μ§ - dc App
κ·Όλ° κ·Έκ² μ΄ν΄κ° μλλκ² μλ₯Όλ€μ΄ νμΌ 100κ°λ₯Ό μ½λκ±Έ μ½λ£¨ν΄ λλ¦°λ€κ³ ν΄λ 1κ°λ₯Ό μ½λλ° μ€λ걸리면 μ΄μ¨λ λ©μΈ μ€λ λκ° νλ μ μ νκ° κ±Έλ¦¬μμ ν΅μ κ°μκ²λ λ§μ°¬κ°μ§μλ? ν¨ν· 1000κ°λ₯Ό λ°λλ€κ³ ν΄λ κ·Έκ±Έ μ½λ£¨ν΄ κ±Έμ΄λ΄€μ ν¨ν· 1κ°κ° μ§μ°λλ©΄ λ©μΈ μ€λ λμ μν₯κ°μμ ν΅μ κ°μκ±° μμ 보면 μ μ½λ£¨ν΄ μ¬μ©νλμ§ λͺ¨λ₯΄κ² μ... λ΄κ° λ μλͺ»μκ³ μλ
λ©μΈμ€λ λμ μν₯κ°λκ±°λ λ©μΈμ€λ λκ° μμ λ©μΆ°λ²λ¦¬λκ±° μ°¨μ΄μ§
μ€λ걸리λ μμ μ΄λΌλ μΈκ²μ μ½λ λ리λκ±° μλμ΄μ (IO κ°μκ±°) μΈλΆ μ°λ λλ‘ λΉΌμΌνλκ±° μλκ°??
μμλ μΌμ§λ§, λ©ν°μ°λ λ©μ ꡬνν λ₯λ ₯μ΄ λλ©΄ λ©ν°μ°λ λ©μΌλ‘ ꡬννλ©΄ λ¨ - dc App
async μ¨λλ¨
ν΄λΉ λκΈμ μμ λμμ΅λλ€.
γ γ μ°Ύμλ΄μΌκ² λ€ c#λ κ±°μ μ²μμ΄λΌ νΉμ μ’μ μμ μμ??
κ± μ΄μ€νκ² μκ³ λλΉλλ‘ μ§λ¬Έ μμ±νκ±° κ°μλ° μ΄λ° μλ¬Έ κ°μ§κΈ°μ μ κ± μ§μ ꡬνν΄λ³΄λ©΄ λ¨ μ κ·Έλ° μ리 νλμ§
γ γ μμ μ°Ύμ보면μ λλ¦¬κ³ μλλ° μ§μ¬ μ μ΄λ°κ΅¬λ‘ μ€κ³νλμ§ λͺ¨λ₯΄κ² λ€
μΉ μμ²κ°μ κ²½μ°μλ μ½λ£¨ν΄μ μ¬μ©ν΄λ λ€λ₯Έ μμ μ€λ λμμ μμ²μ΄ μ΄λ€μ§κ³ λ©μΈ μ€λ λμμλ μλ£ μ¬λΆ & κ²°κ³Όκ° μ²λ¦¬λ§ μ΄λ€μ Έμ. λ°λ‘ Tcp μμΌ κ°μκ±Έ μ¬μ©νλ κ²½μ°λ©΄ λͺ¨λ₯΄κ² λλ° μ λν°μμ APIλ₯Ό μ 곡νκ³ μλκ±°λ©΄ μμλλ‘ μ°λκ² μ μμ λλ€.
μ λν°μμ μ 곡νλ APIκ° μλλΌ CPU Bound μμ μΌ κ²½μ°μλ Task.Run λ±μ APIλ₯Ό μ¬μ©ν μ μκ² λ€μ
κΈκ΅°... κ·Όλ° μ κ·Έκ±Έ λͺ μλ₯Ό μν΄μ£Όλκ±°μ§? λ¬Έμμμλ κ·Έλ°λ§μ μ°Ύμλ³Ό μκ°μμ΄.. μ½λλ λͺ» κΉλ³΄κ³