Pub/Sub 구성

JSON 파일에 필요한 구성을 추가하고 qsam decode 명령어와 함께 --input-parameter pubsub-publish-configuration=DataPath 옵션을 사용하여 이 파일을 지정하면 Mainframe Connector 트랜스코더의 Pub/Sub 게시 형식을 구성할 수 있습니다. PubsubConfiguration 섹션에 지정된 대로 Pub/Sub 게시 구성을 정의해야 합니다.

이 페이지에서는 트랜스코딩의 입력 매개변수로 구성할 수 있는 다양한 Pub/Sub 매개변수를 설명합니다. PubsubPublishConfiguration 객체에는 모든 Pub/Sub 디코더 구성 옵션이 포함되어 있습니다.

PubsubPublishConfiguration

PubsubPublishConfiguration 객체를 사용하면 Pub/Sub로 전송되는 메시지를 구성할 수 있으며 qsam decode 명령어와 함께 사용됩니다.

JSON 표현
{
    "attributes_configuration": object (AttributesConfiguration),
    "batching_settings": object (BatchingSettings),
    "concurrency_control_settings": object (ConcurrencyControlSettings),
    "flow_control_settings": object (FlowControlSettings),
    "ordering_key_configuration": object (OrderingKeyConfiguration),
    "spillover_configuration": object (SpilloverConfiguration)
}
필드
attributes_configuration

object (AttributesConfiguration)

속성 구성을 지정합니다. Pub/Sub 메시지에 연결할 수 있는 키-값 쌍으로 구성을 지정할 수 있습니다. 그런 다음 이 구성을 사용하여 메시지를 필터링하거나 추가 메타데이터를 전달할 수 있습니다.

batching_settings

object (BatchingSettings)

메시지 게시를 위한 일괄 설정을 지정합니다. 기본적으로 일괄 처리는 사용 중지되어 있습니다. 자세한 내용은 일괄 설정으로 게시하기를 참고하세요.

concurrency_control_settings

object (ConcurrencyControlSettings)

게시자 클라이언트의 동시 실행 및 메시지 처리 설정을 지정합니다. 이러한 설정은 메시지 게시, 성공적인 전송 확인, 게시 프로세스 중 오류 처리를 위한 병렬 처리를 제어합니다. 자세한 내용은 동시 실행 제어를 참고하세요.

flow_control_settings

object (FlowControlSettings)

메시지 게시에 사용할 흐름 제어 설정을 지정합니다. 기본적으로 흐름 제어 설정은 사용 중지되어 있습니다. 자세한 내용은 흐름 제어 설정으로 메시지 게시를 참고하세요.

ordering_key_configuration

object (OrderingKeyConfiguration)

정렬 키 구성을 지정합니다. 이 구성은 순서 키가 동일한 메시지가 순서대로 전송되는지 확인합니다. 이 구성을 설정하지 않으면 메시지 순서가 보장되지 않습니다.

spillover_configuration

object (SpilloverConfiguration)

오버플로 메시지 전송 방법을 구성합니다. 설정되지 않은 경우 스필오버 메시지는 _spillover 접미사가 있는 입력 주제로 전송됩니다.
예를 들어 입력 주제가 projects/project_example/topics/topic_example이면 기본 오버플로 주제는 projects/project_example/topics/topic_example_spillover입니다.

AttributesConfiguration

AttributesConfiguration 메시지는 Pub/Sub 메시지의 속성이 제공되는 방식을 정의하는 고정된 속성 집합을 지정합니다.

JSON 표현
{
    "attributes": object (Attributes)
}
필드
attributes

object (Attributes)

Pub/Sub 메시지에 연결할 고정 키-값 속성의 컬렉션입니다.

속성

Attributes 메시지는 속성이 결정되는 방식을 정의하는 Attribute 키-값 쌍의 컬렉션을 지정합니다.

JSON 표현
{
    "attribute": object (Attribute)
}
필드
attribute

object (Attribute)

키-값 쌍의 컬렉션을 지정합니다.

속성

Attribute 메시지는 Pub/Sub 메시지 속성으로 사용되는 단일 키-값 쌍을 나타냅니다.

JSON 표현
{
    "key": string,
    "value": string
}
필드
key

string

속성의 키를 지정합니다.

value

string

속성 값을 지정합니다.

BatchingSettings

BatchingSettings 메시지를 사용하면 Pub/Sub에 메시지를 게시하기 위한 일괄 설정을 지정할 수 있습니다. 정의된 Pub/Sub 할당량 및 한도를 준수하도록 일괄 처리 설정을 구성해야 합니다. 일괄 처리를 사용 중지하려면 message_count_threshold=1를 설정합니다.

JSON 표현
{
    "delay_threshold": string,
    "element_count_threshold": long,
    "request_byte_threshold": long
}
필드
delay_threshold

string

일괄 처리에 사용할 지연 시간 기준을 지정합니다. delay_threshold에 정의된 시간이 경과하면 (추가된 첫 번째 메시지부터 계산) 메시지가 배치로 래핑되어 전송됩니다. 이 값을 너무 높게 설정하지 않는 것이 좋습니다. 그렇지 않으면 통화가 완료되지 않는 것처럼 보일 수 있습니다. 실시간 또는 거의 실시간 처리를 우선시하는 경우 지연 시간 기준점을 낮게 설정하는 것이 좋습니다 (수십~수백 밀리초). 이렇게 하면 메시지가 빠르게 전송됩니다. 즉시 전송이 중요하지 않은 대규모 일괄 처리를 다루는 경우 더 크고 효율적인 배치를 허용하기 위해 더 높은 기준점 (몇 초)이 허용될 수 있습니다. 기간 형식에 대한 자세한 내용은 Duration를 참고하세요. 지연 기준점이 0초로 제공되면 지연 기준점이 제공되지 않은 것으로 간주되어 기본값이 사용됩니다. 기본값은 1ms입니다.

element_count_threshold

long

일괄 처리에 사용할 메시지 수 기준점을 지정합니다. message_count_threshold에 정의된 메시지 수가 누적되면 지연 임계값이 아직 경과하지 않았더라도 메시지가 배치로 래핑되어 전송됩니다. 메시지가 지속적으로 작은 경우 메시지 수 기준점을 늘리는 것이 좋습니다. 기본값은 1입니다.

request_byte_threshold

long

Pub/Sub에 일괄 전송하기 전에 누적할 메시지의 최대 크기(바이트)를 지정합니다. 지연 또는 메시지 수 기준이 아직 초과되지 않은 경우에도 적용됩니다. 메시지가 지속적으로 작은 경우 바이트 기준점을 늘리는 것이 좋습니다. 기본값은 1바이트입니다.

ConcurrencyControlSettings

ConcurrencyControlSettings 메시지를 사용하면 메시지 게시의 병렬 처리를 구성할 수 있습니다. 이 설정은 동시에 전송할 수 있는 메일 수에 영향을 미칩니다.

JSON 표현
{
    "publishing_threads": int,
    "result_processing_threads": int
}
필드
publishing_threads

int

메시지를 게시할 처리 스레드 수를 지정합니다. 값은 사용 가능한 코어 수보다 작거나 같아야 합니다. 스레드 수가 0이면 게시가 동기적으로 처리됩니다.

result_processing_threads

int

Pub/Sub 메시지 결과를 처리할 스레드 수를 지정합니다. 여기에는 전송된 메시지 확인과 게시 중에 발생하는 오류 처리가 포함됩니다. 값이 0이면 결과 처리 병렬 처리가 동기적으로 처리됩니다. 기본값은 1입니다.

FlowControlSettings

FlowControlSettings 메시지를 사용하면 게시자 클라이언트가 Pub/Sub로의 메시지 흐름을 관리하는 방법을 지정할 수 있습니다. 이러한 설정은 클라이언트가 과도한 리소스를 소비하거나 Pub/Sub에 과부하를 주는 것을 방지합니다.

JSON 표현
{
    "limit_exceeded_behavior": enum (LimitExceededBehavior),
    "max_outstanding_element_count": long,
    "max_outstanding_request_bytes": long
}
필드
limit_exceeded_behavior

enum (LimitExceededBehavior)

흐름 제어 한도를 초과할 때의 동작을 지정합니다. 기본값은 BLOCK입니다.

max_outstanding_element_count

long

대기 중일 수 있는 메시지의 최대 수 (전송되었지만 아직 Pub/Sub에서 확인되지 않음)를 지정합니다. 메인프레임에 메모리가 충분하고 매우 높은 처리량을 푸시하려는 경우 개수를 늘려 보세요.

max_outstanding_request_bytes

long

대기 중인 메시지의 최대 총 크기(바이트)를 지정합니다.

OrderingKeyConfiguration

OrderingKeyConfiguration 메시지는 Pub/Sub 메시지의 순서 키가 결정되는 방식을 정의하는 정적 문자열을 순서 키로 지정합니다.

JSON 표현
{
    "key": string
}
필드
key

string

Pub/Sub 메시지의 순서 키로 사용할 문자열 값입니다.

SpilloverConfiguration

SpilloverConfiguration 메시지는 오버플로 메시지의 대체 주제를 지정하는 방법을 정의합니다. 전체 주제 이름 또는 입력 주제 이름에 추가할 접미사를 지정할 수 있습니다. 이 두 옵션은 상호 배타적이므로 하나를 선택해야 합니다.

JSON 표현
{
    "name": string,
    "suffix": string
}
필드
name

string

스필오버 메시지의 대체 주제의 전체 리소스 이름을 projects/{project}/topics/{topic} 형식으로 지정합니다.

suffix

string

스필오버 메시지의 입력 주제 이름에 추가할 접미사를 지정합니다. 예를 들어 입력 주제가 projects/project_example/topics/my-topic이고 접미사가 _errors이면 유출 주제는 projects/project_example/topics/my-topic_errors입니다.

열거형

LimitExceededBehavior

LimitExceededBehavior enum을 사용하면 흐름 제어 한도가 초과될 때의 동작을 구성할 수 있습니다.

열거형
BLOCK 한도를 초과하면 Pub/Sub 게시자가 차단됩니다. 이렇게 하면 리소스를 사용할 수 있을 때까지 추가 메시지가 게시되지 않습니다.
IGNORE Pub/Sub 게시자는 한도를 무시하고 한도가 초과되면 계속 게시합니다. 이로 인해 리소스 소비가 증가할 수 있습니다.
THROW_EXCEPTION 한도를 초과하면 Pub/Sub 게시자가 예외를 발생시켜 게시 실패를 나타냅니다.