<aside>
</aside>
π μ±ν° μκ°
μλ
νμΈμ μ¬λ¬λΆ! π€© μ§λ μκ° μΉ API λν μ£Όμ, RESTful APIλ₯Ό λ°°μ μ΅λλ€. URIμ HTTP λ©μλλ‘ μμμ λͺ
νν νν/μ‘°μνλ κ°λ ₯ν λ°©μμ΄μ£ ! νμ§λ§ λͺ¨λ μν©μ RESTκ° μλ²½νμ§ μμ΅λλ€. λ μ μ°ν λ°μ΄ν° μμ²μ΄λ κ·Ήνμ μ±λ₯μ΄ νμν λλ μμ΅λλ€.
κ·Έλμ μ΄λ² μκ°μλ RESTμ λμ/보μμ¬λ‘ μ£Όλͺ©λ°λ μ΅μ API κΈ°μ λ κ°μ§, GraphQLκ³Ό gRPCλ₯Ό μμλ΄
λλ€! π
- GraphQL: ν΄λΌμ΄μΈνΈκ° νμν λ°μ΄ν°λ§ κ³¨λΌ μμ²νλ λλν API 쿼리 μΈμ΄.
- gRPC: λ§μ΄ν¬λ‘μλΉμ€ λ± μλ² κ° ν΅μ μμ λ²κ° κ°μ μλβ‘οΈλ₯Ό μλνλ κ³ μ±λ₯ μ격 νλ‘μμ νΈμΆ(RPC) μμ€ν
.
API μΈκ³μ μλ‘μ΄ κ°μλ€! GraphQLκ³Ό gRPCμ λ§€λ ₯κ³Ό μ ν©ν μ¬μ© μ¬λ‘λ₯Ό νννλ©°, API μ€κ³ λꡬ μμμ μ μ°μ₯μ μΆκ°ν΄ λ΄
μλ€! π§β¨
π― μ±ν° λͺ©ν
- μλ‘μ΄ API ν¨λ¬λ€μ(GraphQL, gRPC) νμ μ΄μ (REST μΈ) μ΄ν΄.
- GraphQL μ μ, λ¨μΌ μλν¬μΈνΈ, ν΄λΌμ΄μΈνΈ νμ λ°μ΄ν°λ§ μμ² ν΅μ¬ κ°λ
μ΄ν΄.
- GraphQL μ£Όμ μ₯μ (μ€λ²/μΈλνμΉ ν΄κ²°, κ°λ ₯ν νμ
μμ€ν
) μ€λͺ
.
- gRPC μ μ, κ³ μ±λ₯ RPC νλ μμν¬, HTTP/2μ Protocol Buffers κΈ°λ° λμ μ΄ν΄.
- gRPC μ£Όμ μ₯μ (μλ, ν¨μ¨μ±, μλ°©ν₯ μ€νΈλ¦¬λ°) μ€λͺ
.
- GraphQL, gRPC κ° μ¬μ© μ¬λ‘ μ μ (μ: GraphQL-볡μ‘ν ν΄λΌμ΄μΈνΈ, gRPC-λ§μ΄ν¬λ‘μλΉμ€ ν΅μ ).
- GraphQL μ€ν€λ§/λ¦¬μ‘Έλ² κ°λ
, gRPC Protocol Buffers μν μΆκ° μ΄ν΄.