Интеграциялар · хабарламалар · арналар арасындағы fallback
Автоматты fallback-пен мультиарналы хабарламалар
Клиент:
NDA
Санат: Интеграциялар
Стек: PHP (өз backend), Firebase (push), Telegram Bot API, WhatsApp/SMS провайдерлері, PHPMailer
Мерзім: 3–5 апта
Мәселе
Брондау платформасына пайдаланушылар мен алаңдарды тапсырыс мәртебелері, болдырмаулар мен оқиғалар туралы әртүрлі байланыс арналары арқылы хабардар ету керек болды — кезек брокерінсіз және қолмен таратусыз.
Шектеулер
Стекте дайын кезектер (Redis/RabbitMQ) болмады — тек дерекқор мен polling; кейбір арналар (WhatsApp) жеткізуге кепілдік бермейді және резервтік арнаны талап етеді.
Не істедім
- Бірыңғай хабарлама домендік қабаты: арна таңдауы бар ~30 сценарий (тапсырыс, брондау мәртебесі, оқиғаны болдырмау және т.б.)
- WhatsApp → SMS fallback тізбегі: WhatsApp арқылы сәтсіз жіберу автоматты түрде SMS арқылы қайталанады
- Құрылғылардың жарамсыз токендерін автотазалаумен Firebase арқылы push-хабарламалар
- Сол домендік оқиға моделі үстінде бөлек интерактивті арна ретінде Telegram-бот
- Жіберуді rate-limiting және дедупликациялау, арна ақаулықтарында әкімшілерге алерттер
Архитектура
Домендік оқиға
→ Хабарламалар кезегі (дерекқор)
→ Polling-демондар
→ WhatsApp → SMS fallback
→ Push / Telegram / Email
Нәтиже
15+ бизнес-сценарий үшін хабарламалар арналар арасындағы автоматты fallback және минималды қолмен қолдаумен бірыңғай нүкте арқылы жүретін болды.
Нені қайта қолдануға болады
Домендік оқиға → кезек → арналар арасындағы fallback-пен polling-демон
Жарамсыз push-токендерді автотазалау
Сезімтал хабарламаларды (растау кодтары) жіберуді rate-limiting