Design Notification System
μλ¦Ό μμ€ν μ ν΄λΌμ΄μΈνΈμκ² μ 보λ₯Ό μ λ¬νλ μμ€ν μΌλ‘, νλ μλΉμ€μμλ μ€μν λΆλΆμΌλ‘ μ리 μ‘μλ€. μλ¦Ό μμ€ν μ λͺ¨λ°μΌ νΈμ μλ¦Ό / SMS λ©μμ§ / μ΄λ©μΌ μΈ κ°μ§λ‘ λΆλ₯ν΄λ³Ό μ μλ€.
μꡬ μ¬ν
νΈμ μλ¦Ό / SMS λ©μμ§ / μ΄λ©μΌ μλ¦Ό μ§μ
κ°λ₯ν 빨리 μ λ¬λμ΄μΌ νμ§λ§ λμ λΆν μ μ½κ°μ μ§μ°μ 무방ν μ°μ± μ€μκ°(soft realtime) μμ€ν
iOS / android / μΉ λ± λ€μν νλ«νΌ μ§μ
μλ² μΈ‘ μ€μΌμ€λ§κ³Ό ν΄λΌμ΄μΈνΈ μ ν리μΌμ΄μ μμ μλ¦Ό μμ±
μλ¦Ό μμ κ±°λΆ κΈ°λ₯
ν루 1,000λ§ κ±΄μ νΈμ μλ¦Ό / 100λ§ κ±΄μ SMS λ©μμ§ / 500λ§ κ±΄μ μ΄λ©μΌ μλ¦Ό μ μ‘
μλ¦Ό μ νλ³ μ§μ λ°©μ
iOS νΈμ μλ¦Ό / Android νΈμ μλ¦Ό: iOSμ Android νΈμ μλ¦Όμ κ°κ° APNSμ FCMμ μ¬μ©νλ€.
μλ¦Ό μ 곡μ -> APNS / FCM -> λλ°μ΄μ€
μμΌλ‘ μ λ¬νκ² λλ€.
SMS λ©μμ§: νΈμλ¦¬μ€ / λ₯μ€λͺ¨ κ°μ μ 3μ¬μ μμ μλΉμ€λ₯Ό λ§μ΄ μ΄μ©
μ΄λ©μΌ: κ³ μ μ΄λ©μΌ μλ²λ₯Ό ꡬμΆν μλ μμ§λ§, μμ μ±κ³Ό λ°μ΄ν°λΆμ μλΉμ€λ₯Ό μν΄ Sendgrid / Mailchimp κ°μ μλΉμ€λ λ§μ΄ μ΄μ©
μ°λ½μ² μ 보 μμ§ μ μ°¨
μλ¦Όμ μ μ‘νκΈ° μν΄μ λͺ¨λ°μΌ λ¨λ§ ν ν° / μ νλ²νΈ / μ΄λ©μΌ λ±μ μ λ³΄κ° νμνλ€. ν΄λΉ μ 보λ₯Ό μμ§νκΈ° μν΄μ μ¬μ©μκ° μ±μ μ€μΉνκ±°λ κ³μ μ λ±λ‘νλ©΄ API μλ²μμ ν΄λΉ μ 보λ₯Ό λ°μ΄ν°λ² μ΄μ€μ μ μ₯νλ€.
μλ¦Ό μ μ‘ λ° μμ μ μ°¨
κ°λ΅μ μΈ νλ‘μ°λ μλ¦Ό μμ± μλΉμ€ -> μλ¦Ό μμ€ν
-> μλνν° μλΉμ€ -> λλ°μ΄μ€
μμΌλ‘ μ λ¬λ μ μλ€.
μλ¦Ό μμ± μλΉμ€(μ¬λ¬ κ°μΌ μ μμ): λ§μ΄ν¬λ‘μλΉμ€ ννκ±°λ, ν¬λ‘ μ‘ λ±λ± μλ¦Όμ μμ±νλ μλΉμ€
μλ¦Ό μμ€ν : μλ¦Ό μμ± μλΉμ€μμ μμ±λ μλ¦Όμ λ°μμ μ μ‘νλ μλΉμ€
μλνν° μλΉμ€: μλ¦Όμ μ€μ λ‘ μ λ¬νλ μν μ νλ μλΉμ€(APNS / FCM / νΈμλ¦¬μ€ / λ₯μ€λͺ¨ / Sendgrid / Mailchimp λ±)
λλ°μ΄μ€: μλ¦Όμ λ°λ λλ°μ΄μ€
μ¬κΈ°μ μλ¦Ό μμ€ν μ νλμ μλΉμ€λ‘ ꡬνν μλ μμ§λ§, μλμ μ΄μ λ‘ λΆλ¦¬νλ κ²μ΄ μ’λ€.
SPOF(Single Point of Failure): μλ¦Ό μμ€ν μ΄ λ€μ΄λλ©΄ μλ¦Ό μ μ‘ μ€λ¨ κ°λ₯μ± μ‘΄μ¬
μ±λ₯ λ³λͺ©: μλ¦Ό μ²λ¦¬ μ 리μμ€κ° λ§μ΄ νμν κ²½μ°, μμ€ν κ³ΌλΆν κ°λ₯μ± μ‘΄μ¬
κ·λͺ¨ νμ₯μ±: ν λμ μλΉμ€λ‘ λͺ¨λ νΈλν½μ μ²λ¦¬νκΈ° νλ€μ΄ μ§λ κ²μ λλΉνμ¬, λ°μ΄ν°λ² μ΄μ€λ μΊμ λ± μ€μ μ»΄ν¬λνΈ κ·λͺ¨ νμ₯ λ°©λ² κ³ λ €
μλ¦Ό μμ€ν
μ€κ³
μμ λ¬Έμ μ μ ν΄κ²°νκΈ° μν΄ λ€μκ³Ό κ°μ λ°©ν₯μΌλ‘ κ°μ ν΄ λ³Ό μ μλ€.
λ°μ΄ν°λ² μ΄μ€μ μΊμλ₯Ό μλ¦Ό μμ€ν μ μ£Ό μλ²μμ λΆλ¦¬
μλ¦Ό μλ²λ₯Ό μ¦μ€νκ³ μλμΌλ‘ μνμ κ·λͺ¨ νμ₯μ΄ κ°λ₯νλλ‘ μ€κ³
λ©μμ§ νλ₯Ό μ΄μ©ν΄ μμ€ν μ»΄ν¬λνΈ μ¬μ΄ κ°ν κ²°ν¨μ μ€μ(de-coupling)
κ° μ»΄ν¬λνΈλ λ€μκ³Ό κ°μ μν μ μννλ€.
μλ¦Ό μλ²
μλ¦Ό μ μ‘ API μ 곡: μλΉμ€μμ μλ¦Όμ μμ±νκ³ μ μ‘ν μ μλλ‘ API μ 곡
μλ¦Ό κ²μ¦: μ΄λ©μΌ / μ νλ²νΈ λ± κΈ°λ³Έμ μΈ κ²μ¦ μν
λ°μ΄ν°λ² μ΄μ€ or μΊμ μ§μ: μλ¦Όμ ν¬ν¨μν¬ λ°μ΄ν° μ‘°ν
μλ¦Ό μ μ‘: μλ¦Ό λ°μ΄ν°λ₯Ό λ©μμ§ νμ μ λ¬
μΊμ: μ¬μ©μ μ 보 / λ¨λ§ μ 보 / μλ¦Ό ν νλ¦Ώ λ± μΊμ±
λ°μ΄ν°λ² μ΄μ€: μ¬μ©μ μ 보 / μλ¦Ό / μ€μ λ± λ€μν μ 보 μ μ₯
λ©μμ§ ν: μμ€ν μ»΄ν¬λνΈ κ° μμ‘΄μ± μ κ±°λ₯Ό μν΄ μ¬μ©, λλ μλ¦Όμ΄ μ μ‘λμ΄μΌ νλ κ²½μ° λλΉν λ²νΌ μν λ μν
μμ μλ²: λ©μμ§ νμμ μ μ‘ν μλ¦Όμ κΊΌλ΄ μλνν° μλΉμ€λ‘ μ λ¬νλ μν μν
κ²°κ³Όμ μΌλ‘ μλ¦Ό μμ€ν μ λ€μκ³Ό κ°μ΄ λμνκ² λλ€.
APIλ₯Ό νΈμΆνμ¬ μλ¦Ό μλ²λ‘ μλ¦Ό μ μ‘
μλ¦Ό μλ²λ μ¬μ©μ μ 보 / λ¨λ§ ν ν° / μλ¦Ό μ€μ κ°μ λ©νλ°μ΄ν°λ₯Ό μΊμλ λ°μ΄ν°λ² μ΄μ€μμ μ‘°ν
μλ¦Ό μλ²λ μ μ‘ν μλ¦Όμ λ§λ μ΄λ²€νΈλ₯Ό μμ±ν΄ ν΄λΉ μ΄λ²€νΈλ₯Ό μν νμ μ λ¬
μμ μλ²λ λ©μμ§ νμμ μλ¦Ό μ΄λ²€νΈλ₯Ό κΊΌλ΄ μλνν° μλΉμ€λ‘ μ λ¬
μλνν° μλΉμ€μμ λλ°μ΄μ€λ‘ μ€μ μλ¦Ό μ μ‘
μμ μ±
λ°μ΄ν° μμ€ λ°©μ§
μλ¦Όμ΄ μ§μ°λκ±°λ μμκ° λ€λ°λλ κ²μ ν° λ¬Έμ κ° λμ§ μμ μ μμ§λ§, μλ¦Όμ΄ μ μ‘λμ§ μλ κ²μ ν° λ¬Έμ κ° λ μ μμ
μ΄λ₯Ό μν΄ μλ¦Ό λ°μ΄ν°λ₯Ό λ°μ΄ν°λ² μ΄μ€μ 보κ΄νκ³ μ¬μλ λ©μ»€λμ¦ νμ
μλ¦Ό μ€λ³΅ μ μ‘ λ°©μ§
μλ²½νκ² μ€λ³΅μ λ°©μ§νλ κ²μ λΆκ°λ₯νλ κ²μ κ°κΉμ§λ§, μ€λ³΅ μ μ‘μ μ΅μν ν΄μΌ ν¨
μ΄λ²€νΈ ID κ²μ¬νλ λ°©μ λ± μ€λ³΅ λ°©μ§ λ‘μ§ μΆκ° νμ
μΆκ° κ³ λ € μ¬ν
μλ¦Ό ν νλ¦Ώ: λλΆλΆ νμμ΄ λΉμ·νκΈ° λλ¬Έμ ν νλ¦Ώμ μ¬μ©ν΄ μλ¦Όμ μμ±νλ κ²μ΄ ν¨μ¨μ μΌ μ μμ
μλ¦Ό μ€μ : μ¬μ©μμ μλ¦Ό μ€μ μ 보κ΄νκΈ° μν΄ μλ¦Ό μ€μ ν μ΄λΈμ λμ΄ μ¬μ©μκ° μλ¦Όμ λ°μμ§ μ¬λΆλ₯Ό μ€μ ν μ μλλ‘ ν¨
μ¬μλ λ°©λ²: μλνν° μλΉμ€μμ μλ¦Ό μ μ‘ μ€ν¨ μ ν΄λΉ μλ¦Όμ μ¬μλ μ μ© νμ λ£μ΄ μ¬μλνλ λ°©λ²μ μ¬μ©
보μ: iOS / Android κ²½μ° νΉμ ν€λ₯Ό μ¬μ©ν΄ μΉμΈλ ν΄λΌμ΄μΈνΈλ§ μλ¦Όμ λ³΄λΌ μ μλλ°, λ€λ₯Έ ν΄λΌμ΄μΈνΈ(SMS / μ΄λ©μΌ)λ κ°μ λ°©λ²μΌλ‘ 보μμ κ°νν μ μμ
ν λͺ¨λν°λ§: νΉμ νμ μμΈ μ΄λ²€νΈκ° λ무 λ§μμ§λ©΄(λΉ λ₯΄κ² μ²λ¦¬ λͺ»νκ³ μμ) μμ€ν μ μν₯μ μ€ μ μμΌλ―λ‘ ν λͺ¨λν°λ§μ΄ νμ
μ°Έκ³ μλ£
Last updated
Was this helpful?