이 문서에서는 메시지 게시에 관한 개요를 제공합니다.
메시지 게시 워크플로
Pub/Sub에 메시지를 게시하기 위해 게시자 애플리케이션은 메시지를 만들고 주제에 전송합니다.
- 사용자 데이터를 포함하는 메시지를 생성합니다.
- 선택적인 게시 속성을 선택합니다.
- 지정된 주제에 메시지를 게시하려면 Pub/Sub 서버에 요청을 보냅니다.
Pub/Sub 서비스가 메시지를 수신하고 다음과 같이 처리합니다.
메시지가 배포를 위해 저장됩니다.
메시지는 내구성과 고가용성을 위해 여러 영역에 걸쳐 복제됩니다.
Pub/Sub는 메시지 주제와 일치하는 구독이 있는 구독자를 식별하고 각 구독자에 메시지 사본을 전달합니다.
Pub/Sub에서는 기존 구독자에 최소 1회 메시지 전송 및 최선의 순서 지정을 제공합니다.
Pub/Sub 시스템에 대한 개요는 Pub/Sub 서비스 개요를 참조하세요.
Pub/Sub 작동 방식에 대한 설명은 Pub/Sub의 아키텍처 개요를 참조하세요.
주제 정보
Pub/Sub 주제는 메시지 피드를 나타내는 명명된 리소스입니다. 게시자가 메시지를 전송하면 특정 주제를 타겟팅합니다. Pub/Sub 서비스는 이 주제 이름을 사용하여 주제에 연결된 모든 구독으로 메시지를 라우팅합니다. 한 구독에 여러 구독자가 있다면 구독에 포함된 구독자 중 한 명만 메시지를 수신합니다.
게시자는 구독자 수를 알 필요가 없습니다. 메시지 전송과 메시지 수신 간의 문제를 분리하여 주제에 집중합니다.
주제의 데이터 복제
Pub/Sub 주제는 영역 3개를 사용하여 데이터를 저장합니다. 이 서비스는 최소 2개 이상의 영역에 대한 동기식 복제와 추가적인 세 번째 영역에 대한 최선의 복제를 지원합니다. Pub/Sub 복제는 리전 하나 내에만 있습니다.
주제 속성
주제를 만들거나 업데이트할 때는 주제 속성을 지정할 수 있습니다.
메시지 정보
Pub/Sub 메시지는 서비스를 통과하는 데이터입니다.
메시지는 메시지 데이터 및 메타데이터가 있는 필드로 구성됩니다. 다음 중 하나를 메시지에 지정해야 합니다.
메시지 데이터: 메시지의 핵심 콘텐츠이며 모든 텍스트 또는 바이너리 데이터일 수 있습니다. 이는 게시자와 구독자 간에 전달하려는 실제 정보를 나타냅니다. REST API를 직접 사용하는 경우 메시지 데이터는 base64로 인코딩되어야 합니다. 메시지 게시 섹션의 REST 탭에 있는 예시를 참조하세요.
순서 키: 메시지를 정렬해야 하는 항목을 나타내는 식별자입니다. 순서 키가 동일한 메시지는 게시된 순서대로 구독자에게 전송됩니다. 순서 키는 순서가 지정된 메시지의 전송을 원하는 경우에만 필요합니다. 순서 키에 대한 자세한 내용은 메시지 순서 지정을 참조하세요.
속성: 메시지에 관한 추가 컨텍스트와 정보를 제공하는 선택적 키-값 쌍입니다. 메시지 콘텐츠의 라우팅, 필터링 또는 보강에 사용할 수 있습니다. 예를 들어 타임스탬프나 트랜잭션 ID와 같은 속성을 추가할 수 있습니다. 메시지 게시에 사용되는 속성에 대해 자세히 알아보려면 속성을 사용하여 메시지 게시를 참조하세요.
Pub/Sub 서비스는 메시지에 다음 필드를 추가합니다.
- 주제에 고유한 메시지 ID
- Pub/Sub 서비스가 메시지를 수신하는 시점의 타임스탬프
예를 들어 JSON 형식의 메시지는 다음과 같습니다.
{
"data": "This is the core message content.",
"attributes": {
"category": "notification",
"user_id": "12345",
"priority": "medium"
},
"orderingKey": "12345"
}