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),
    "ordering_key_configuration": object (OrderingKeyConfiguration),
    "spillover_configuration": object (SpilloverConfiguration),
    "batching_settings": object (BatchingSettings),
    "flow_control_settings": object (FlowControlSettings),
    "concurrency_control_settings": object (ConcurrencyControlSettings)
}
필드
attributes_configuration

object (AttributesConfiguration)

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

ordering_key_configuration

object (OrderingKeyConfiguration)

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

spillover_configuration

object (SpilloverConfiguration)

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

batching_settings

object (BatchingSettings)

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

flow_control_settings

object (FlowControlSettings)

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

concurrency_control_settings

object (ConcurrencyControlSettings)

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

AttributesConfiguration

AttributesConfiguration 메시지는 Pub/Sub 메시지의 속성을 가져오는 방법을 정의하는 고정된 속성 집합을 지정합니다.

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

object (Attributes)

Pub/Sub 메시지에 연결할 고정 키-값 속성 모음입니다.

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입니다.

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바이트입니다.

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

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

ConcurrencyControlSettings

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

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

int

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

result_processing_threads

int

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

속성

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

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

object (Attribute)

키-값 쌍 모음을 지정합니다.

속성

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

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

string

속성의 키를 지정합니다.

value

string

속성 값을 지정합니다.

LimitExceededBehavior

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

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