2025. 2. 2. 16:47γκΈ°μ μ κ³ λ―Ό
μ΅κ·Ό νμ¬μμ μ§ν μ€μΈ μμ μμ μλμ κ°μ μꡬμ¬νμ λ§λκ² λμμ΅λλ€.
- μλΉμ€ λ΄μλ μ λ§μ ν λνΈκ° μ‘΄μ¬
- κ° ν λνΈ λ΄μμλ νΉμ μ΄λ²€νΈκ° λ°μνκ³ , μ΄λ₯Ό μ²λ¦¬νλ μ컀 λ‘μ§μ΄ νμ (νλ² μ€νμ 500ms ~ 5s, ν λνΈ λ΄ λ°μ΄ν° μμ λΉλ‘)
- μ΄λ²€νΈ λ°μ λΉλλ λμ§ μμ
- μ΄ λ μ΄λ€ μ컀 λ‘μ§μ ν λνΈ λ³λ‘ μ€λ‘μ§ νλμ©λ§ λμν΄μΌ ν¨. (ν λνΈ λ΄ λμμ± X)
ν΄λΉ κΈμμλ μ΄ μꡬμ¬νμ λ§μ‘±μν€κΈ° μν λ°©μμ λν΄ λ€λ€λ³΄λλ‘ νκ² μ΅λλ€.
μ΅μ΄ ꡬν
μ΄κΈ°μλ μ΄ μꡬμ¬νμ λ§μ‘±μν€κΈ° μν΄, μλμ κ°μ λ°©ν₯μ±μΌλ‘ μμ μ μ§ννμ΅λλ€. κ° κ΅¬μ‘°μ λν μ€λͺ μ μλμ κ°μ΅λλ€.
- μλ² μ ν리μΌμ΄μ μμλ μ μ μ νΉμ νλμ λ°λΌ μ΄λ²€νΈλ₯Ό λ°ννμ¬ SQSλ‘ μ λ¬ν©λλ€.
- μ λ¬λ μ΄λ²€νΈλ μ¬μ μ λ±λ‘λ AWS λλ€λ₯Ό νΈλ¦¬κ±°νμ¬ μλΉλ©λλ€.
- μ΄ λ λλ€μμλ μμ μ μμ, ν λνΈ λ³ μ μΌμ±μ 보μ₯νκΈ° μν΄ ν λνΈ μλ³μλ₯Ό ν΅ν λΆμ°λ½μ μμ²ν©λλ€. μ΄ λ λΆμ°λ½μ Mysqlμ Named Lockμ ν΅ν΄ ꡬννμμ΅λλ€.
- Named Lockμ λκΈ°νλ€κ° μ΅λ λκΈ° μκ°(10s)μ λμ΄κ°λ μΌμ΄μ€λ DLQλ₯Ό ν΅ν΄ νμ λ€μ λ£μ΄μ£Όλλ‘ κ΅¬ννμ΅λλ€.
μ΅μ΄ ꡬν λ°©μμ λ¬Έμ
μμ²λΌ ꡬννκ³ λλ ν¬κ² λκ°μ§ λ¬Έμ κ° μμμ΅λλ€.
첫λ²μ§Έλ λΉμ© λ¬Έμ μ λλ€.
μ ꡬ쑰μμλ μ΄λ²€νΈκ° νμ λ€μ΄κ°κ³ λλ©΄ μΌλ¨ λλ€λ₯Ό λμ°κ³ κ±°κΈ°μμ λΆμ°λ½μ λκΈ°νλ©° ν λνΈ λ³ λμμ±μ μ μ΄ν©λλ€. λλ€μ κ²½μ°μ μ€μ μ€νμκ°μ λΉλ‘νμ¬ λΉμ©μ΄ λ°μνκΈ° λλ¬Έμ, μ€μ λ‘μ§μ λμ μΈμ λΆνμνκ² λ½μ λκΈ°νλ μκ°μ΄ λͺ¨λ λΉμ©μ ν¬ν¨λκ² λ©λλ€. μ΄λ²€νΈκ° μ€νμ±μΌλ‘ λ§μ΄ λ°μνλ μν©μμλ λ¨ 10μ΄ κ° μ€νλ μ μλ λ§νΌμ μ΄λ²€νΈλ§ μλΉλκ³ , λλ¨Έμ§ μ΄λ²€νΈλ€μ μ λΆ 10μ΄ κ° λκΈ° ν μ¬μλνκ² λλλ° λμμ± μ μ΄λ₯Ό μν λ½ λκΈ°μ κ±°μ λͺ¨λ μκ°μ΄ μλΉλμ΄ λΉμ©μ μΈ μΈ‘λ©΄μμ μμ²λ λλΉκ° λ°μν©λλ€.
λλ²μ§Έλ νΌμ‘ μ μ΄ λ¬Έμ μ λλ€.
μ ꡬ쑰μμλ λμμ λ°μν μ΄λ²€νΈλ€ μ€, λ½μ νλν λ¨ νλμ νλ‘μΈμ€λ₯Ό μ μΈνλ©΄ μ¬μλ λ¨κ³μμ κ·Έλλ‘ λμΌν κ²½μμλ€κ³Ό κ²½ν©μ΄ λ°μν©λλ€. μ΄λ μμμ μΈκΈν λΉμ© λ¬Έμ λ₯Ό λμ± μ¬νμν΅λλ€.
κ°μ λ ꡬν λ°©μ
λ€μμ μ΅μ΄ ꡬνμμ λ°μνλ λ¬Έμ λ₯Ό ν΄μν ꡬ쑰μ λλ€. μ μ©λ μμ΄λμ΄λ μλμ κ°μ΅λλ€.
- κ° μ΄λ²€νΈλ€μ μ΄λ²€νΈ νμ΄λ‘λ λ΄μ μ΅λ μ¬μλ νμλ₯Ό κ°μ΅λλ€.
- μ΄λ²€νΈλ‘ μΈν΄ νΈλ¦¬κ±°λ λλ€ μ컀μμ λΆμ°λ½ νλμ μλλ νλ, λκΈ°λ νμ§ μμ΅λλ€.
- λΆμ°λ½ νλμ μ€ν¨ν μ΄λ²€νΈλ€μ νμ΄λ‘λ λ΄ μ¬μλ νμλ₯Ό νλ κ°μμν¨μ± νμ λ€μ λ°μ΄λ£μ΅λλ€.
- μ΄ λ SQS Delay Seconds μ΅μ μ λμ νμ¬ λΆμ°λ½ νλ νλ‘μΈμ€μ λ‘μ§μ΄ λλ λ€ λλ€μ μ λ¬λ μ μλλ‘ ν μ κ°μ§λλ€.
- μ¬μλ νμκ° λμ΄λ μλ‘ νμ¬ ν΄λΉ ν λνΈμ λν μ΄λ²€νΈκ° μ λ°μ μΌλ‘ νΌμ‘ν κ²μ΄κΈ° λλ¬Έμ, μ¬μλ νμκ° λμ΄λ μλ‘ λκΈ° μκ°μ΄ μ§μμ μΌλ‘ μ¦κ°νλ ExponentialBackoffλ₯Ό λμ νμ¬ Delay Secondsλ₯Ό κ³μ°ν©λλ€.
- λͺ¨λ μ€ν¨ μ΄λ²€νΈλ€μ΄ λμΌν Delay Secondsλ₯Ό κ°μ§ κ²½μ° λ€μ νμ΄μ¦μμ λμΌνκ² κ²½μν κ²μ΄κΈ° λλ¬Έμ, Backoff μκ°μ κ³μ°ν λ λλ€μ±μ μΆκ°ν©λλ€.
- μ΄μ λ°©μμ λΉν΄ νκ· μ¬μλ νμκ° λμ΄λ κ²μ΄κΈ° λλ¬Έμ μ΅λ μ¬μλ νμλ₯Ό λλνκ² μ£Όλλ‘ νκ³ , μ΅λ μ¬μλ νμλ₯Ό λμ κ²½μ°μ DLQλ₯Ό ν΅ν΄ κ°λ°μλ€μ΄ μ μ μκ² ν©λλ€.
μΆκ°μ μΌλ‘ κ³ λ―Ό ν΄λ³Ό λ΄μ©
μμ κ°μ΄ κ°μ μ μ λ°μν λ€μλ λ λμ λ°©μμ΄ μμκΉ νκ³ λ¦¬μμΉλ₯Ό κ³μνκ³ μμ΅λλ€.
κ·Έλ¦¬κ³ νμ¬κΉμ§ νμΈν λ΄μ© μ€ κ°μ₯ μ μ©ν΄λ΄μ§ν λ°©μμ λ°λ‘ SQSμ λ©μμ§ κ·Έλ£Ή κΈ°λ₯μ μ΄μ©νλ κ²μ λλ€.
SQSμ λ©μμ§ κ·Έλ£Ήμ μ½κ² λ§νλ©΄ SQS λ΄λΆμμ FIFOλ₯Ό 보μ₯νλ μ΅μ λ¨μμΈλ°μ. λ©μμ§ κ·Έλ£Ή IDλ₯Ό ν λνΈ μλ³μλ‘ μ¬μ©νλ λ°©λ²μ μ΄μ©νλ©΄ "ν λνΈ λ³ λμμ±" μꡬμ¬νμ μ½κ² μΆ©μ‘±ν μ μμ΄λ³΄μ λλ€.
λ€λ§ FIFOμ κΈ°μ‘΄μ μ¬μ©νλ Standardλ Trade offλ‘ μμ©νλ ꡬκ°λ€μ΄ μ‘΄μ¬νλλ°, μ΄μ λν κ²μ¦μ΄ μμ§μ λΆμ‘±νμ¬ λμ μ λͺ»ν΄λ³΄κ³ μλ μν©μ λλ€.