π‘
Publish-Subscribe
λ©μμ§ λΈλ‘컀λ₯Ό ν΅ν λΉλκΈ° ν΅μ
Pub/Sub ν¨ν΄μμ λ°νμμ ꡬλ μλ μλ‘λ₯Ό μ§μ μμ§ λͺ»ν©λλ€. λ©μμ§ λΈλ‘컀(μ€κ° κ³μΈ΅)κ° λ©μμ§λ₯Ό κ΄λ¦¬νλ©°, ν ν½ κΈ°λ°μΌλ‘ λ©μμ§λ₯Ό λΆλ°°ν©λλ€.
ꡬ쑰 λ€μ΄μ΄κ·Έλ¨
π
Publisher
λ©μμ§ λ°νμ
β λ°ν
→
π‘
Message Broker
ν ν½ κ΄λ¦¬ + λ©μμ§ λΆλ°°
Topic A
Topic B
β‘ λΆλ°°
→
π₯
Subscriber A
π₯
Subscriber B
π₯
Subscriber C
νλ¦ μ€λͺ
- ꡬλ μκ° κ΄μ¬ ν ν½μ λΈλ‘컀μ λ±λ‘ (ꡬλ )
- λ°νμκ° λ©μμ§λ₯Ό νΉμ ν ν½μΌλ‘ λ°ν
- λΈλ‘μ»€κ° ν΄λΉ ν ν½μ λͺ¨λ ꡬλ μμκ² λ©μμ§ λΆλ°°
- κ° κ΅¬λ μκ° λ 립μ μΌλ‘ λ©μμ§ μ²λ¦¬
λμ νλ¦
1
ꡬλ μκ° λ©μμ§ λΈλ‘컀μ νΉμ ν ν½μ ꡬλ
2
λ°νμκ° λ©μμ§λ₯Ό νΉμ ν ν½μΌλ‘ λ°ν
3
λ©μμ§ λΈλ‘μ»€κ° ν΄λΉ ν ν½μ λͺ¨λ ꡬλ μμκ² λ©μμ§ λΆλ°°
4
κ° κ΅¬λ μκ° λ 립μ μΌλ‘ λ©μμ§ μ²λ¦¬
μ₯μ
- ✓ λ°νμ-ꡬλ μ κ° λμ¨ν κ²°ν©
- ✓ νμ₯μ± λ°μ΄λ¨
- ✓ λΉλκΈ° μ²λ¦¬ κ°λ₯
- ✓ λ€μμ ꡬλ μμκ² λμ μ λ¬
λ¨μ
- ✗ λ©μμ§ λΈλ‘컀 μμ‘΄
- ✗ λ©μμ§ μμ 보μ₯ 볡μ‘
- ✗ λλ²κΉ μ΄λ €μ
- ✗ λ©μμ§ μ μ€ κ°λ₯μ±
μ¬μ© μ¬λ‘
Redis Pub/Sub
Apache Kafka
AWS SNS/SQS
Google Cloud Pub/Sub
RabbitMQ