알림 시스템을 설계하는 방법

in kr-dev •  3 years ago 

알림 시스템을 설계하는 방법

알림 시스템은 사용자를 터치하고 분석 데이터를 수집하는 데 도움이 되는 모든 시스템의 필수 기능이 되었습니다. 모바일 푸시 그 이상이며 푸시, SMS, 이메일 및 소프트웨어 배지(포함되지 않음)와 같은 몇 가지 다른 유형의 알림 형식이 있습니다. 여기).

이 기사에서는 푸시, SMS 및 이메일 형식에 대한 알림 시스템 디자인을 거의 실시간으로 검색하고 구독 취소 목록 제어와 관련된 보안 API 엔드포인트에 의해 트리거되는 하루 평균 천만 건의 알림을 검색합니다.

알림 유형

iOS 푸시

iOS 기기에 대한 알림.

공급자는 Apple에서 제공하는 원격 서비스인 Apple 푸시 알림 서비스를 통해 알림을 보냅니다. 이 서비스는 iOS 기기에서 푸시 알림을 수행합니다.

안드로이드 푸시

Android 기기에 대한 알림.

Android 알림은 IOS 알림 흐름과 유사하지만 대신 APN을 사용하여 Firebase 클라우드 메시징을 사용하여 수십 개의 Android 푸시 알림을 수행합니다.

SMS 메시지

SMS 메시지를 사용한 알림.

위와 동일하지만 Twilio와 같은 SMS 서비스 공급자를 사용합니다. Twilio와 같은 일부 제공업체에는 WhatsApp 전화 및 메일 마케팅을 사용하여 메시지를 보내는 기능이 있습니다.

이메일 메시지

이메일 메시지를 사용한 알림.

위와 동일하지만 Sendgrid와 같은 이메일 서비스 제공업체를 사용합니다.

완벽한 알림 시스템 설계

중요한 것은 이것이 높은 수준의 디자인이며 이 그림의 각 요점에 초점을 맞출 때 이 기사에서 다루지 않은 세부 사항이 많이 있다는 것입니다.

  1. 외부 소프트웨어는 주소, 유형, 메시지 등과 같은 메시지 데이터와 함께 https를 통해 JSON 메시지를 보냅니다.
  2. 속도 제한기는 시스템 과부하 및 보안 문제를 보호하기 위해 내부 규칙을 검증합니다.
  3. Notification Service는 메시지를 수신하고 올바른 메시지 대기열로 전달하고 일부 로그를 데이터 캐시 클러스터를 통해 데이터 저장소에 씁니다.
  4. 일부 작업자는 대기열에서 메시지를 사용하고 타사 소프트웨어와 연결하여 정의된 장치 유형 또는 메시지 형식으로 메시지를 보냅니다.
  5. 타사 소프트웨어는 웹 후크를 사용하여 다시 호출하여 메시지에 대한 상태 및 분석 정보를 제공합니다.
  6. 더 많은 작업자가 실행되면 이러한 정보를 얻고 데이터 저장소 계층에 저장합니다.
  7. 상태 및 분석 데이터는 이러한 데이터를 외부 서비스에 다시 제공하는 알림 상태 및 분석 서비스에 사용할 수 있습니다.

이러한 시스템 설계 소프트웨어를 사용하면 다음과 같은 이점이 있습니다.

  • 신뢰성: 실패율과 SPOF를 최소화하는 메커니즘.
  • 보안: 승인된 사용자만 메시지를 보낼 수 있도록 AppKey/appSecret 쌍을 사용하여 https를 통해 실행합니다.
  • 추적 및 모니터링: 로그, 상태 및 분석 데이터가 저장됩니다.
  • 속도 제한: 시스템 과부하, 예기치 않은 버스트 및 보안 문제를 보호합니다.

이 디자인은 매우 잘 작동하며 로드 밸런서, Big IP 등과 같은 새로운 구성 요소를 삽입하여 SLA를 늘리기 위해 다른 지역에 복제되어야 합니다.

여기에서 균형과 신뢰성에 대해 자세히 알아 보십시오!

의견과 팁을 환영합니다!

;)

출처 : https://leandrofranchi.medium.com/how-to-design-a-notification-system-23f381cdeb00

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.