FCM 주제 메시징을 사용하면 특정 주제를 구독하는 여러 기기에 메시지를 보낼 수 있습니다. 필요에 따라 주제 메시지를 작성하면 FCM에서 라우팅을 처리하여 올바른 기기에 정확히 전송합니다.
주제 메시지에 관한 핵심 사항:
- 날씨 알림과 같은 공개적으로 제공되는 정보에 가장 적합합니다.
- 주제 메시지는 지연 시간이 아닌 처리량을 위주로 최적화됩니다. 기기 한 대나 적은 수의 기기에 빠르고 안전하게 전송하려면 주제 대신 등록 토큰으로 메시지를 타겟팅하세요.
할당량 및 한도
주제 메시징에서 각 주제에 지원하는 구독에는 제한이 없습니다. 그러나 FCM은 다음 영역에 제한을 두고 있습니다.
- 하나의 앱 인스턴스는 최대 2,000개까지 주제를 구독할 수 있습니다.
- 일괄 구독을 사용하여 앱 인스턴스를 구독하는 경우 각 요청은 1,000개의 앱 인스턴스로 제한됩니다.
구독 제한
주제 구독 추가 또는 삭제 속도는 프로젝트당 3,000QPS로 제한됩니다.
새 구독의 빈도는 프로젝트별로 비율이 제한됩니다. 단기간에 지나치게 많은 구독 요청을 보내는 경우 FCM 서버는 429 RESOURCE_EXHAUSTED
('QUOTA_EXCEEDED') 응답을 보냅니다. 지수 백오프로 다시 시도합니다.
팬아웃 제한
메시지 팬아웃이란 주제 및 그룹을 타겟팅하거나 알림 작성기를 사용하여 잠재고객 및 사용자 세그먼트를 타겟팅하는 경우와 같이 여러 기기로 메시지를 전송하는 프로세스입니다.
메시지 팬아웃은 즉각적인 프로세스가 아니므로 경우에 따라 여러 개의 팬아웃을 동시에 진행하는 것이 가능합니다. 프로젝트당 동시 메시지 팬아웃 수는 1,000개로 제한되며, 제한 수에 도달하면 일부 진행 중인 팬아웃이 완료될 때까지 추가 팬아웃 요청이 거부되거나 팬아웃 요청이 지연될 수 있습니다.
실제 가능한 팬아웃 속도는 동시에 팬아웃을 요청하는 프로젝트 수의 영향을 받습니다. 개별 프로젝트의 팬아웃 속도 10,000QPS는 드물지 않지만 이 속도는 보장되지 않으며 시스템 전체 부하에 따라 달라집니다. 사용 가능한 팬아웃 용량은 팬아웃 요청이 아닌 프로젝트 간에 분할됩니다. 따라서 프로젝트에 진행 중인 팬아웃이 두 개 있으면 각 팬아웃 속도는 사용 가능한 팬아웃 속도의 절반이 됩니다. 따라서 팬아웃 속도를 최대화하려면 활성 팬아웃을 한 번에 하나만 진행하는 것이 가장 좋습니다.
다음 단계
- Admin SDK를 사용하거나 클라이언트 앱에서 주제 구독을 관리하는 방법 알아보기
- Admin SDK 또는 FCM v1 HTTP API를 사용하여 주제로 메시지를 보내는 방법 알아보기