검색 결과가 없습니다

검색어와 일치하는 결과가 없습니다.

원하시는 정보를 찾는 데 도움이 되도록 다음을 시도해 보십시오.

  • 검색에 사용하신 키워드의 철자가 올바른지 확인하십시오.
  • 입력한 키워드에 동의어를 사용하십시오. 예를 들어 “소프트웨어” 대신 “애플리케이션”을 사용해 보십시오.
  • 아래에 표시된 인기 검색어 중 하나를 사용해 보십시오.
  • 새로운 검색을 시작하십시오.
인기 질문

FAQ

모두 열기 모두 닫기

    개요

  • Oracle Cloud Infrastructure Streaming이란 무엇입니까?

    Oracle Cloud Infrastructure(OCI) Streaming은 실시간으로 사용 및 처리할 수 있는 지속적으로 대용량 데이터 스트림을 수집하기 위한 확장 가능하고 내구성이 뛰어난 완전 관리형 메시징 솔루션을 제공합니다. Streaming은 지원되는 모든 오라클 클라우드 인프라스트럭쳐(OCI) 지역에서 사용할 수 있습니다. 목록을 보려면 지역 및 가용성 도메인 페이지를 참조하십시오.

  • Streaming을 사용해야 하는 이유는 무엇입니까?

    Streaming은 네트워킹에서 스토리지 및 데이터 Streaming에 필요한 구성까지 인프라 관리의 부담을 덜어주는 서버리스 서비스입니다. 인프라 프로비저닝, 지속적인 유지 관리 또는 보안 패치에 대해 걱정할 필요가 없습니다. Streaming 서비스는 3개의 가용성 도메인에 걸쳐 데이터를 동기식으로 복제하여 고가용성 및 데이터 내구성을 제공합니다. 단일 가용성 도메인이 있는 지역에서는 데이터가 3개의 장애 도메인에 복제됩니다.

  • Streaming은 어떻게 사용합니까?

    Streaming을 사용하면 수백 개의 소스에서 실시간으로 생성된 데이터를 쉽게 수집, 저장 및 처리할 수 있습니다. 메시징에서 복잡한 데이터 스트림 처리에 이르기까지 거의 무제한의 사용 사례에 활용할 수 있습니다. Streaming을 사용할 수 있는 여러 가지 사용 방법 중 몇 가지는 다음과 같습니다.

    • 메시징: Streaming을 사용하여 대형 시스템의 구성 요소를 분리합니다. 생산자와 소비자는 Streaming을 비동기 메시지 버스로 사용하고 독립적으로 원하는 속도로 행동할 수 있습니다.
    • 측정 지표 및 로그 수집: Streaming을 기존의 파일 스크래핑 방식의 대안으로 사용하여 중요한 운영 데이터를 인덱싱, 분석 및 시각화에 신속하게 사용할 수 있습니다.
    • 웹 또는 모바일 활동 데이터 수집: 페이지 보기, 검색 또는 기타 사용자 작업과 같이 웹사이트 또는 모바일 앱의 활동을 캡처하는 데 Streaming을 사용합니다. 실시간 모니터링 및 분석은 물론 오프라인 처리 및 보고를 위한 데이터 웨어하우징 시스템에도 이 정보를 사용할 수 있습니다.
    • 인프라 및 앱 이벤트 처리: Streaming을 클라우드 구성 요소의 통합 진입점으로 사용하여 감사, 회계 및 관련 활동에 대한 수명 주기 이벤트를 보고합니다.
  • Streaming 사용을 시작하려면 어떻게 해야 합니까?

    다음과 같이 Streaming 사용을 시작할 수 있습니다.

    1. Oracle Cloud Infrastructure 콘솔 또는 CreateStream API 작업을 사용하여 스트림을 생성합니다.
    2. 스트림에 메시지를 게시하도록 제작자를 구성합니다. 메시지 게시를 참조하십시오.
    3. 스트림에서 데이터를 읽고 처리할 수 있는 소비자를 구축합니다. 메시지 소비를 참조하십시오.

    또는 Kafka API를 사용하여 스트림에서 생성하고 사용할 수도 있습니다. 자세한 내용은 Apache Kafka에서 Streaming 사용을 참조하십시오.

  • Streaming 서비스의 제한 사항은 무엇입니까?

    Streaming의 처리량은 스트림에 파티션을 추가하여 제한 없이 확장하도록 설계되었습니다. 그러나 Streaming을 사용하는 동안 명심해야 할 몇 가지 제한 사항이 있습니다.

    • 스트림에 있는 메시지의 최대 보관 기간은 7일입니다.
    • 스트림에 생성할 수 있는 고유 메시지의 최대 크기는 1MB입니다.
    • 각 파티션은 쓰기 요청 수에 관계없이 초당 최대 1MB의 처리량을 처리할 수 있습니다.
    • 각 파티션은 초당 최대 1MB의 데이터 쓰기 속도와 초당 2MB의 읽기 속도를 지원할 수 있습니다.
  • Streaming은 대기열 기반 서비스와 어떻게 다릅니까?

    Streaming은 스트림 기반 의미 체계를 제공합니다. 스트림 의미 체계는 파티션당 엄격한 순서 보장, 메시지 재생성, 클라이언트 측 커서 및 대규모 수평 처리량을 제공합니다. 대기열은 이러한 기능을 제공하지 않습니다. 대기열은 FIFO 대기열을 사용하는 경우 순서를 보장하도록 설계될 수 있지만 성능에 상당한 오버헤드를 추가하는 희생을 감수해야 합니다.

    주요 컨셉

  • 스트림이란 무엇입니까?

    스트림은 제작자 애플리케이션이 소비자 애플리케이션에서 데이터를 읽고 쓰는 파티션된 추가 전용 메시지 로그입니다.

  • 스트림 풀이란 무엇입니까?

    스트림 풀은 스트림을 구성하고 관리하는 데 사용할 수 있는 그룹입니다. 스트림 풀은 여러 스트림에서 구성 설정을 공유하는 기능을 제공하여 운영 용이성을 제공합니다. 예를 들어, 사용자는 스트림 풀에서 사용자 지정 암호화 키와 같은 보안 설정을 공유하여 풀 내부의 모든 스트림 데이터를 암호화할 수 있습니다. 스트림 풀을 사용하면 스트림 풀 내의 모든 스트림에 대한 인터넷 액세스를 제한하여 스트림에 대한 비공개 엔드포인트를 생성할 수도 있습니다. Streaming의 Kafka 호환성 기능을 사용하는 고객의 경우 스트림 풀이 가상 Kafka 클러스터의 루트 역할을 하므로 해당 가상 클러스터의 모든 작업 범위를 해당 스트림 풀로 지정할 수 있습니다.

  • 파티션이란 무엇입니까?

    파티션은 스트림에서 생산 및 소비의 수평 확장 및 병렬 처리를 가능하게 하는 스트림의 기본 처리량 단위입니다. 파티션은 1MB/초 데이터 입력과 2MB/초 데이터 출력 용량을 제공합니다. 스트림을 생성할 때 애플리케이션의 처리량 요구 사항에 따라 필요한 파티션 수를 지정합니다. 예를 들어, 10개의 파티션이 있는 스트림을 생성할 수 있으며 이 경우 스트림에서 10MB/초 입력 및 20MB/초 출력의 처리량을 달성할 수 있습니다.

  • 메시지란 무엇입니까?

    메시지는 스트림에 저장된 데이터를 base64로 인코딩한 단위입니다. 스트림의 파티션에 생성할 수 있는 메시지의 최대 크기는 1MB입니다.

  • 키는 무엇입니까?

    키는 관련 메시지를 그룹화하는 데 사용되는 식별자입니다. 동일한 키를 가진 메시지는 동일한 파티션에 기록됩니다. Streaming은 주어진 파티션의 모든 소비자가 항상 기록된 것과 정확히 동일한 순서로 해당 파티션의 메시지를 읽도록 합니다.

  • 제작자란 무엇입니까?

    제작자는 스트림에 메시지를 쓸 수 있는 클라이언트 애플리케이션입니다.

  • 소비자와 소비자 그룹은 무엇입니까?

    소비자는 하나 이상의 스트림에서 메시지를 읽을 수 있는 클라이언트 애플리케이션입니다. 소비자 그룹은 스트림에 있는 모든 파티션의 메시지를 조정하는 인스턴스 집합입니다. 특정 시간에서 특정 파티션의 메시지는 그룹의 단일 소비자만 사용할 수 있습니다.

  • 커서란 무엇입니까?

    커서는 스트림 위치에 대한 포인터입니다. 이 위치는 파티션의 특정 오프셋 또는 시간에 대한 포인터이거나 그룹의 현재 위치에 대한 포인터일 수 있습니다.

  • 오프셋이란 무엇입니까?

    파티션 내의 각 메시지에는 오프셋이라는 식별자가 있습니다. 소비자는 특정 오프셋에서 시작해서 메시지를 읽을 수 있으며, 어느 오프셋 지점에서든 읽을 수 있습니다. 또한 소비자가 최신 처리된 오프셋을 커밋하여 중지했다가 다시 시작할 경우 메시지를 표시하거나 누락하지 않고 작업을 재개할 수 있습니다.

    보안

  • Oracle Cloud Infrastructure Streaming을 사용할 때 내 데이터는 얼마나 안전합니까?

    Streaming은 기본적으로 사용되지 않을 때와 전송 중일 때 모두 데이터 암호화를 제공합니다. Streaming은 Oracle Cloud Infrastructure Identity and Access Management(IAM)와 완전히 통합되어 있기 때문에 액세스 정책을 사용하여 사용자 및 사용자 그룹에 선택적으로 권한을 부여할 수 있습니다. REST API를 사용하는 동안 HTTPS 프로토콜을 사용하는 SSL 엔드포인트를 통해 Streaming에서 데이터를 안전하게 저장하고 가져올 수도 있습니다. 또한 Streaming은 "예기치 않은 트래픽 증가" 문제없이 데이터의 완벽한 테넌트 수준의 격리를 제공합니다.

  • 자체 마스터 키 세트를 사용하여 스트림의 데이터를 암호화할 수 있습니까?

    Streaming 데이터는 메시지 무결성 보장과 함께 저장 및 전송 시 모두 암호화됩니다. Oracle이 암호화를 관리하도록 하거나 특정 규정 준수 또는 보안 표준을 충족해야 하는 경우 Oracle Cloud Infrastructure Vault를 사용하여 자체 암호화 키를 안전하게 저장하고 관리할 수 있습니다.

  • 생성 후 편집할 수 있는 스트림 풀의 보안 설정은 무엇입니까?

    "Oracle 키에서 제공하는 암호화"와 "고객 관리 키를 사용하여 관리되는 암호화"사용 간에 전환하려는 경우 언제든지 스트림 풀의 데이터 암호화 설정을 편집할 수 있습니다. Streaming은 이 활동을 수행할 수 있는 횟수에 제한을 두지 않습니다.

  • 스트림에 대한 액세스를 어떻게 관리하고 제어합니까?

    Streaming은 Oracle Cloud Infrastructure IAM과 완전히 통합됩니다. 모든 스트림에는 구획이 할당되어 있습니다. 사용자는 테넌시, 구획 또는 단일 스트림 수준에서 세분화된 규칙을 설명하는 데 사용할 수 있는 역할 기반 액세스 제어 정책을 지정할 수 있습니다.

    액세스 정책은 "<조건> 위치에서 <동사> <리소스> <유형을> 조건으로 <허용>" 형식으로 지정됩니다.

  • Kafka 사용자는 Streaming에 어떤 인증 메커니즘을 사용해야 합니까?

    Kafka 프로토콜을 사용한 인증은 인증 토큰 및 SASL/PLAIN 메커니즘을 사용합니다. 콘솔 사용자 세부 정보 페이지에서 토큰을 생성할 수 있습니다. 자세한 내용은 인증 토큰 작업참조하십시오. 전용 그룹/사용자를 생성하고 해당 그룹에 적절한 구획 또는 테넌시에서 스트림을 관리할 수 있는 권한을 부여하는 것이 좋습니다. 그런 다음 생성한 사용자에 대한 인증 토큰을 생성하여 Kafka 클라이언트 구성에서 사용할 수 있습니다.

  • 퍼블릭 IP를 사용하지 않고 내 가상 클라우드 네트워크(VCN)에서 Streaming API에 비공개로 액세스할 수 있습니까?

    프라이빗 엔드포인트는 인터넷을 통해 스트림에 액세스할 수 없도록 테넌시 내에서 지정된 가상 클라우드 네트워크(VCN)에 대한 액세스를 제한합니다. 프라이빗 엔드포인트는 VCN 내의 프라이빗 IP 주소를 스트림 풀에 연결하여 Streaming 트래픽이 인터넷을 통과하지 못하도록 합니다. Streaming을 위한 프라이빗 엔드포인트를 생성하려면 스트림 풀을 생성할 때 프라이빗 서브넷이 있는 VCN에 액세스해야 합니다. 자세한 내용은 프라이빗 엔드포인트 정보VCN 및 서브넷을 참조하십시오.

    통합

  • Oracle Cloud Infrastructure Object Storage와 함께 Oracle Cloud Infrastructure Streaming을 어떻게 사용합니까?

    보통 장기간 저장할 목적으로 스트림에 데이터를 유지하기 위해 스트림의 내용을 Object Storage 버킷에 직접 기록할 수 있습니다. 이는 Streaming과 함께 S3용 Kafka Connect를 사용하여 달성할 수 있습니다. 자세한 내용은 Oracle Streaming Service에서 Object Storage에 게시 블로그 포스트를 참조하십시오.

  • Oracle Autonomous Database에서 Streaming을 어떻게 사용합니까?

    Oracle Autonomous Transaction Processing 인스턴스의 테이블에서 데이터를 수집할 수 있습니다. 자세한 내용은 Oracle Streaming Service 및 Autonomous DB와 함께 Kafka Connect 사용 블로그 포스트를 참조하십시오.

  • Micronaut에서 Streaming을 어떻게 사용합니까?

    Kafka SDK를 사용하여 Streaming에서 메시지를 생성하고 사용할 수 있으며 Micronaut의 기본 제공 Kafka 지원을 사용할 수 있습니다. 자세한 내용은 Micronaut의 Kafka 지원 및 Oracle Streaming Service를 통한 간편한 메시징 블로그 포스트를 참조하십시오.

  • Streaming을 사용하여 MQTT 브로커에서 IoT 데이터를 수집하려면 어떻게 해야 합니까?
  • Oracle GoldenGate for Big Data는 Streaming과 호환됩니까?

    Oracle GoldenGate for Big Data는 이제 Streaming과 통합하도록 인증되었습니다. 자세한 내용은 Oracle GoldenGate for Big Data 설명서의 Oracle Streaming Service에 연결을 참조하십시오.

  • Streaming에서 Oracle Autonomous Data Warehouse로 직접 데이터를 수집하는 방법이 있습니까?

    Streaming 데이터를 Oracle Autonomous Data Warehouse로 직접 전송하려면 Kafka JDBC Sink Connect를 사용해야 합니다.

    가격 책정

  • Oracle Cloud Infrastructure Streaming 사용 요금은 어떻게 부과됩니까?

    Streaming은 초기 비용 없이 사용한 리소스에 대해서만 비용을 지불하면 되는 단순한 종량제 방식 요금을 사용합니다. 요금 범위에는 다음이 포함됩니다.

    • GET/PUT 요청 가격(전송된 데이터의 기가바이트)
    • 데이터를 보존하는 데 사용된 보존 기간에 따라 결정되는 스토리지 가격(시간당 기가 바이트의 스토리지)

    최신 가격 정보는 Streaming 제품 페이지를 참조하십시오.

  • 서비스를 사용하지 않아도 프로비저닝 요금이 부과되나요?

    Streaming 업계 최고의 가격은 서비스를 사용할 때만 비용을 지불하면 됩니다. 이는 리소스가 사용되지 않을 때 추가 비용을 지불하지 않음을 의미합니다.

  • Streaming 안팎으로 데이터를 이동하는 데 추가 요금이 있습니까?

    Streaming은 서비스 안팎으로 데이터를 이동하는 데 추가 요금을 부과하지 않습니다. 또한 사용자는 서비스 커넥터 허브의 기능을 활용하여 추가 비용 없이 서버리스 방식으로 스트리밍 간에 데이터를 이동할 수 있습니다.

  • Streaming은 무료 요금제를 제공합니까?

    현재 Streaming은 무료 요금제를 제공하지 않습니다.

    서비스 수준 계약

  • Oracle Cloud Infrastructure Streaming은 어떤 SLA를 보장합니까?

    Oracle Cloud Infrastructure Streaming은 최소 99.9%의 월간 가동률을 보장합니다. 월간 가동률은 해당 Oracle Cloud Infrastructure Streaming 서비스에 대한 100%에서 해당 월에 사용할 수 없는 백분율을 빼서 계산됩니다.

  • 서비스를 사용할 수 없는 경우 어떻게 서비스 크레딧을 받을 수 있습니까?

    SLA의 모든 이용 약관 및 서비스 크레딧 자격 요건에 대한 자세한 내용은 Oracle PaaS 및 IaaS 퍼블릭 클라우드 서비스 핵심 문서 (PDF)의 섹션 2.7.1.6.32 오라클 클라우드 인프라스트럭쳐(OCI) - Streaming을 참조하십시오.

    Oracle Cloud Infrastructure Streams 관리

  • Streaming에 액세스하려면 어떤 IAM 권한이 필요합니까?

    Identity and Access Management를 사용하면 클라우드 리소스에 액세스할 수 있는 대상을 제어할 수 있습니다. 오라클 클라우드 인프라스트럭쳐(OCI) 리소스를 사용하려면 SDK, CLI 또는 기타 도구와 함께 콘솔을 사용하든 REST API를 사용하든 관계없이 관리자가 작성한 정책에서 필요한 유형의 액세스 권한을 부여 받아야 합니다. 액세스 정책


    조건 <위치에서> <동사> <리소스> <유형을> 조건으로 <허용>

    형식으로 지정됩니다.

    테넌시 관리자는 정책을 사용할 수 있습니다.


    그룹 StreamAdmins가 테넌시의 스트림을 관리하도록 허용

    지정된 그룹 StreamAdmins가 스트림 및 관련 리소스 생성, 업데이트, 나열 및 삭제에 이르기까지 스트리밍으로 모든 작업을 수행할 수 있습니다. 그러나 그룹에서 지정된 사용자만이 주어진 스트림에서 수행할 수 있는 활동의 하위 집합에만 적합하도록 항상 보다 세분화된 정책을 지정할 수 있습니다. 정책을 처음 사용하는 경우 정책 시작하기공통 정책을 참조하십시오. Streaming 정책 작성에 대해 자세히 알아보려면 IAM 정책 참조에서 Streaming Service에 대한 세부 정보를 참조하십시오.

  • 대규모 스트림 배포를 자동화하려면 어떻게 해야 합니까?

    Oracle Cloud infrastructure Resource Manager 또는 Oracle Cloud Infrastructure Terraform 공급자를 사용하여 스트림 및 IAM 정책, 파티션, 암호화 설정 등과 같은 모든 관련 구성 요소를 프로비저닝할 수 있습니다. Terraform 공급자에 대한 자세한 내용은 Streaming 서비스에 대한 Terraform 주제를 참조하십시오.

  • 필요한 파티션 수를 어떻게 결정합니까?

    스트림 생성 시 스트림에 있는 파티션 수를 지정해야 합니다. 애플리케이션의 예상 처리량은 스트림의 파티션 수를 결정하는 데 도움이 될 수 있습니다. 예상 처리량을 추정하려면 평균 메시지 크기에 초당 작성되는 최대 메시지 수를 곱하십시오. 단일 파티션은 쓰기 속도가 초당 1MB로 제한되므로 처리량이 많을수록 제한을 방지하기 위해 추가 파티션이 필요합니다. 애플리케이션 급증을 관리하는 데 도움이 되도록 최대 처리량보다 약간 더 많은 파티션을 할당하는 것이 좋습니다.

  • 스트림에서 파티션을 생성하고 삭제하려면 어떻게 해야 합니까?

    스트림 생성 시 콘솔에서 또는 프로그래밍 방식으로 파티션을 생성합니다.

    콘솔 UI:

    Big Data Streaming FAQ 8

    프로그래밍 방식:

    스트림 생성

    CreateStreamDetails streamDetails =
            CreateStreamDetails.builder()
                    .compartmentId(compartmentId)
                    .name(streamName)
                    .partitions(파티션)
                    .build();

    더 자세한 예는 SDK와 함께 제공됩니다.

    Streaming은 파티션을 내부적으로 관리하므로 관리할 필요가 없습니다. 사용자는 파티션을 직접 삭제할 수 없습니다. 스트림을 삭제하면 해당 스트림과 관련된 모든 파티션이 삭제됩니다.

  • 스트림에 요청할 수 있는 최소 처리량은 얼마입니까?

    오라클 클라우드 인프라스트럭쳐(OCI) 스트림의 처리량은 파티션에 의해 정의됩니다. 파티션은 초당 1MB의 데이터 입력 및 2MB의 데이터 출력을 제공합니다.

  • 스트림에 요청할 수 있는 최대 처리량은 얼마입니까?

    오라클 클라우드 인프라스트럭쳐(OCI) 스트림의 처리량은 파티션을 더 추가하여 확장할 수 있습니다. 스트림이 보유할 수 있는 파티션 수에는 이론상 상한이 없습니다. 그러나 각 오라클 클라우드 인프라스트럭쳐(OCI) 테넌시는 Universal Credits 유형 계정에 대해 5개의 기본 파티션 제한이 있습니다. 더 많은 파티션이 필요하면 언제든지 요청하여 서비스 제한을 늘릴 수 있습니다.

  • 오라클 클라우드 인프라스트럭쳐(OCI) 콘솔을 사용하여 내 테넌시에 대한 서비스 제한을 늘리려면 어떻게 해야 합니까?

    다음 단계에 따라 서비스 제한 증가를 요청할 수 있습니다.

    1. 콘솔 오른쪽 상단에서 사용자 메뉴를 열고 테넌시: <tenancy_name> 을 클릭합니다.

      Big Data Streaming FAQ 9
    2. 서비스 제한을 클릭한 다음 서비스 제한 증가 요청을 클릭합니다.

      Big Data Streaming FAQ 10
    3. 양식을 작성하고 서비스 범주에 대해 기타를 선택하고 리소스에 대해 기타 제한을 선택합니다. 요청 이유에서 테넌시의 Streaming 서비스에 대한 파티션 수를 늘리도록 요청하십시오.
  • 스트림 관리를 위한 몇 가지 모범 사례는 무엇입니까?

    다음은 스트림 생성 시 염두에 두어야 할 몇 가지 모범 사례입니다.

    • 스트림 이름은 스트림 풀 내에서 고유해야 합니다. 즉, 서로 다른 스트림 풀에 있는 경우에만 동일한 구획에 동일한 이름을 가진 두 개의 스트림을 생성할 수 있습니다.
    • 스트림이 생성된 후에는 해당 스트림의 파티션 수를 변경할 수 없습니다. 최대 처리량보다 약간 더 많은 파티션을 할당하는 것이 좋습니다. 이를 통해 애플리케이션 급증을 관리할 수 있습니다.
    • 스트림이 생성된 후에는 스트림의 보존 기간을 변경할 수 없습니다. 기본적으로 데이터는 24시간 동안 스트림에 저장됩니다. 그러나 24시간~168시간 사이에 데이터를 유지하도록 구성할 수 있습니다. 스트림에 저장된 데이터의 양은 스트림의 성능에 영향을 주지 않습니다.

    Oracle Cloud Infrastructure Stream에 메시지 생성

  • 스트림에 메시지를 생성하려면 어떻게 합니까?

    스트림이 생성되고 "활성" 상태가 되면 메시지 생성을 시작할 수 있습니다. 콘솔을 사용하거나 API를 통해 스트림을 생성할 수 있습니다.

    콘솔의 경우: 콘솔의 솔루션 및 플랫폼 > 해석 탭에 있는 Streaming 서비스 섹션으로 이동합니다. 이미 생성된 스트림이 있는 경우 구획에서 스트림을 선택하고 "스트림 세부 정보" 페이지로 이동합니다. 콘솔에서 "테스트 메시지 생성" 버튼을 클릭합니다. 이렇게 하면 메시지에 파티션 키가 임의로 할당되고 스트림의 파티션에 기록됩니다. 이 메시지는 최근 메시지 섹션에서 메시지 로드 버튼을 클릭하여 확인할 수 있습니다.

    API의 경우: Oracle Cloud Infrastructure Streaming API 또는 Kafka API를 사용하여 스트림을 생성할 수 있습니다. 메시지는 스트림의 파티션에 게시됩니다. 파티션이 두 개 이상인 경우 메시지를 보낼 파티션을 선택하는 키를 지정합니다. 키를 지정하지 않으면 Streaming이 UUID를 생성하여 사용자 대신 키를 할당하고 메시지를 임의 파티션으로 보냅니다. 이렇게 하면 키가 없는 메시지가 모든 파티션에 고르게 분산됩니다. 그러나 데이터 분할 전략을 명시적으로 제어할 수 있도록 항상 메시지 키를 지정하는 것이 좋습니다.

    스트리밍 SDK를 사용하여 스트림에 메시지를 생성하는 방법에 대한 예는 설명서를 참조하십시오.

  • 제작자가 사용할 파티션을 어떻게 알 수 있습니까?

    Oracle Cloud Infrastructure API를 사용하여 메시지를 생성하는 동안 분할 논리는 스트리밍에 의해 제어됩니다. 이를 서버 측 분할이라고 합니다. 사용자는 키를 기반으로 보낼 파티션을 선택합니다. 키는 해시되고 결과 값은 메시지를 보낼 파티션 번호를 결정하는 데 사용됩니다. 동일한 키를 가진 메시지는 동일한 파티션으로 이동합니다. 키가 다른 메시지는 다른 파티션이나 같은 파티션으로 이동할 수 있습니다.

    그러나 Kafka API를 사용하여 스트림을 생성하는 경우 분할은 Kafka 클라이언트에서 제어하고 Kafka 클라이언트의 파티셔너는 논리 분할을 담당합니다. 이를 클라이언트 측 분할이라고 합니다.

  • 유효한 파티션 키를 생성하려면 어떻게 해야 합니까?

    메시지를 균일하게 배포하려면 효과적인 메시지 키 값이 필요합니다. 키 값을 생성하려면 스트리밍 데이터의 선택성과 카디널리티를 고려해야 합니다.

    • 카디널리티: 특정 사용 사례에 따라 잠재적으로 생성될 수 있는 총 고유 키 수를 고려합니다. 일반적으로 키 카디널리티가 높을수록 분배가 개선됩니다.
    • 선택성: 각 키의 메시지 수를 고려합니다. 선택성이 높으면 키당 더 많은 메시지가 표시되므로 핫스팟이 발생할 수 있습니다.

    항상 높은 카디널리티와 낮은 선택성을 목표로 하십시오.

  • 메시지가 생성된 것과 동일한 순서로 소비자에게 전달되도록 하려면 어떻게 해야 합니까?

    Streaming은 파티션 내에서 선형화 가능한 읽기 및 쓰기를 보장합니다. 값이 같은 메시지가 동일한 파티션으로 이동하도록 하려면 해당 메시지에 동일한 키를 사용해야 합니다.

  • 메시지 크기는 내 스트림의 처리량에 어떤 영향을 미칠 수 있습니까?

    파티션은 1MB/초의 데이터 입력 속도를 제공하고 초당 최대 1000개의 PUT 메시지를 지원합니다. 따라서 레코드 크기가 1KB 미만인 경우 파티션의 실제 데이터 입력 속도는 초당 최대 PUT 메시지 수에 의해 제한되는 1MB/초 미만이 됩니다. 다음과 같은 이유로 메시지를 일괄적으로 생성하는 것이 좋습니다.

    • 서비스로 전송되는 Put 요청 수를 줄여 제한을 방지합니다.
    • 처리량을 향상시킬 수 있습니다.

    메시지 일괄 처리의 크기는 1MB를 초과하지 않아야 합니다. 이 제한을 초과하면 조절 메커니즘이 트리거됩니다.

  • 1MB보다 큰 메시지는 어떻게 처리합니까?

    청크화를 사용하거나 Oracle Cloud Infrastructure Object Storage를 사용하여 메시지를 보낼 수 있습니다.

    • 청크화: 큰 페이로드의 경우 Streaming에서 수용할 수 있는 여러 개의 작은 청크로 분할할 수 있습니다. 청크는 청크화되지 않은 일반 메시지가 저장되는 것과 동일한 방식으로 서비스에 저장됩니다. 유일한 차이점은 소비자가 청크를 보관하고 모든 청크를 수집했을 때 이를 메시지로 결합해야 한다는 것입니다. 파티션의 청크는 일반 메시지와 함께 사용할 수 있습니다.
    • Object Storage: 큰 페이로드는 Object Storage에 배치되고 해당 데이터에 대한 포인터만 전송됩니다. 수신기는 이러한 유형의 포인터 페이로드를 인식하고 Object Storage에서 데이터를 투명하게 읽어 최종 사용자에게 제공합니다.
  • 파티션에서 허용하는 것보다 더 빠른 속도로 생성하면 어떻게 됩니까?

    제작자가 초당 1MB 이상의 속도로 생성하면 요청이 제한되고 파티션당 초당 너무 많은 요청이 수신되고 있음을 나타내는 429, 요청이 너무 많음 오류가 클라이언트로 다시 전송됩니다.

    Oracle Cloud Infrastructure Stream에서 메시지 사용

  • 스트림에서 데이터를 어떻게 읽을 수 있습니까?

    소비자는 하나 이상의 스트림에서 메시지를 읽는 엔터티입니다. 이 엔터티는 단독으로 존재할 수도 있고 소비자 그룹의 일부로 포함되어 있을 수도 있습니다. 메시지를 사용하려면 커서를 생성한 다음 해당 커서를 사용하여 메시지를 읽어야 합니다. 커서는 스트림의 위치를 가리킵니다. 이 위치는 파티션 또는 그룹의 현재 위치에서 특정 오프셋 또는 시간일 수 있습니다. 읽으려는 위치에 따라 다음과 같이 다양한 커서 유형을 사용할 수 있습니다. TRIM_HORIZON, AT_OFFSET, AFTER_OFFSET, AT_TIMELATEST.

    메시지 소비에 대한 자세한 내용은 설명서를 참조하십시오.

  • 특정 시점에 스트림에서 사용할 수 있는 최대 메시지 수는 얼마입니까?

    GetMessageRequest 클래스의 getLimit() 메서드는 최대 메시지 수를 반환합니다. 최대 10,000개의 값을 지정할 수 있습니다. 서비스에서는 기본적으로 최대한 많은 메시지를 반환합니다. 스트림에서 처리량을 초과하지 않도록 평균 메시지 크기를 고려합니다. Streaming getMessage 배치 크기는 특정 스트림에 생성된 평균 메시지 크기를 기반으로 합니다.

  • 소비자에게 메시지가 중복되지 않도록 하려면 어떻게 해야 합니까?

    Streaming은 소비자에게 "최소 1회" 시맨틱을 제공합니다. 소비자 어플리케이션에서 중복 작업을 처리하는 것이 좋습니다. 예를 들어, 이전에 비활성 상태였던 소비자 그룹의 인스턴스가 그룹에 다시 참여하고 이전에 할당된 인스턴스에서 커밋되지 않은 메시지를 사용하기 시작하면 중복을 처리할 가능성이 있습니다.

  • 소비자가 뒤쳐지고 있는지 어떻게 알 수 있습니까?

    사용할 수 있는 것보다 더 빨리 생성하는 경우 소비자가 뒤처지고 있다고 합니다. 소비자가 뒤처지고 있는지 확인하려면 메시지의 타임스탬프를 사용하면 됩니다. 소비자가 뒤처지고 있다면 새 소비자를 생성하여 첫 소비자로부터 파티션을 일부 인수하는 것을 고려하십시오. 단일 파티션에서 뒤처지는 경우에는 복구할 방법이 없습니다.

    다음 옵션을 고려하십시오.

    • 스트림에서 파티션 수를 늘립니다.
    • 핫스팟으로 인해 문제가 발생한 경우 메시지 키 전략을 변경합니다.
    • 메시지 처리 시간을 줄이거나 동시에 요청을 처리합니다.

    지정된 파티션에서 소비할 메시지 수를 확인하려면 LATEST 커서 유형을 사용하여 다음에 게시한 메시지의 오프셋을 가져오고 현재 사용 중인 오프셋을 사용하여 델타를 만듭니다. 밀도 오프셋이 없으므로 대략적인 추정치만 얻을 수 있습니다. 그러나 제작자가 제작을 중단하면 다음에 게시된 메시지의 오프셋을 얻을 수 없으므로 해당 정보를 얻을 수 없습니다.

  • 소비자 그룹은 어떻게 작동합니까?

    소비자들이 그룹의 일부로 메시지를 사용하도록 구성할 수 있습니다. 스트림 파티션은 그룹의 구성원 간에 배포되므로 단일 파티션의 메시지는 단일 소비자에게만 전송됩니다. 소비자가 그룹에 참여하거나 탈퇴할 때 파티션 할당이 재조정됩니다. 소비자 그룹에 대한 자세한 내용은 설명서를 참조하십시오.

  • 소비자 그룹을 사용해야 하는 이유는 무엇입니까?

    소비자 그룹은 다음과 같은 장점을 제공합니다.

    • 소비자 그룹의 각 인스턴스는 "자동으로 할당된" 하나 이상의 파티션에서 메시지를 수신하며 다른 인스턴스(다른 파티션에 할당)가 동일한 메시지를 수신하지 않습니다. 이렇게 하면 한 인스턴스가 하나의 파티션만 읽게 하여 인스턴스 수를 파티션 수까지 확장할 수 있습니다. 이 경우 그룹에 참여하는 새 인스턴스는 파티션에 할당되지 않고 파티션 유휴 상태에 있습니다.
    •  다른 소비자 그룹 의 일부로 인스턴스가 있다는 것은 파티션의 메시지에서  게시/구독 패턴을 제공하면 다른 그룹의 모든 인스턴스로 전송된다는 것입니다.
      동일한 소비자 그룹 내에서 규칙은 다음 이미지에 표시된 것과 같습니다.
      Big Data Streaming FAQ 11

      다양한 그룹에서 인스턴스는 다음 이미지와 같이 동일한 메시지를 수신합니다.
      Big Data Streaming FAQ 12
      이 기능은 파티션 내의 메시지가 다양한 방식으로 처리되는 여러 어플리케이션에 관심 있는 경우에 유용합니다. 모든 관련 어플리케이션이 파티션에서 동일한 메시지를 수신하는 것이 목표입니다.
    • 인스턴스가 그룹에 참여할 때 사용 가능한 파티션(파티션당 인스턴스 1개 제한에 도달하지 못한 경우)이 충분하면 재조정이 시작됩니다. 파티션은 현재 인스턴스와 새 인스턴스에 재할당됩니다. 이와 마찬가지로, 인스턴스가 그룹을 떠나는 경우에도 파티션이 나머지 인스턴스에 재할당됩니다.
    • 오프셋 커밋은 자동으로 관리됩니다.
  • 스트림당 보유할 수 있는 소비자 그룹 수에 제한이 있습니까?

    스트림당 소비자 그룹은 50개로 제한됩니다. 소비자 그룹은 일시적입니다. 스트림 보존 기간 동안 사용하지 않으면 사라집니다.

  • 소비자 및 소비자 그룹을 사용하는 동안 알아야 할 제한 시간은 무엇입니까?

    Streaming의 다음 구성 요소에는 시간 제한이 있습니다.

    • 커서: 메시지를 계속 사용하는 한 커서를 만들지 않아도 됩니다. 메시지 사용이 5분 이상 중지된 경우 커서를 다시 만들어야 합니다.
    • 인스턴스: 인스턴스가 30초 이상 메시지 사용을 중지하면 소비자 그룹에서 제거되고 해당 파티션이 다른 인스턴스에 다시 할당됩니다. 이를 재조정이라고 합니다.
  • 소비자 그룹 내에서 재조정이란 무엇입니까?

    재조정이란 동일한 소비자 그룹에 속한 인스턴스 그룹이 특정 스트림에 속하는 상호 배타적인 파티션 집합을 소유하도록 조정하는 프로세스입니다. 소비자 그룹에 대한 재조정 작업이 성공적으로 끝나면 스트림 내의 모든 파티션이 그룹 내의 하나 이상의 소비자 인스턴스에 의해 소유됩니다.

  • 소비자 그룹 내에서 재조정 활동을 트리거하는 것은 무엇입니까?

    소비자 그룹의 인스턴스가 30초 이상 하트비트를 전송하지 못하거나 프로세스가 종료되어 비활성화되면 소비자 그룹 내에서 재조정 활동이 트리거됩니다. 이는 이전에 비활성 인스턴스에서 사용된 파티션을 처리하고 활성 인스턴스에 재할당하기 위해 수행됩니다. 마찬가지로 이전에 비활성 상태였던 소비자 그룹의 인스턴스가 그룹에 참여하면 사용할 시작할 파티션을 할당하기 위해 재조정이 트리거됩니다. Streaming 서비스는 그룹에 다시 참여할 때 인스턴스를 동일한 파티션에 재할당하는 것을 보장하지 않습니다.

  • 소비자 장애를 어떻게 복구합니까?

    장애를 복구하려면 각 파티션에 대해 마지막으로 처리한 메시지의 오프셋을 저장하여, 소비자를 재시작해야 하는 경우 해당 메시지에서 소비를 시작하도록 해야 합니다.


    참고: 커서는 5분 후에 만료되므로 커서를 저장하지 마십시오.

    마지막으로 처리한 메시지의 오프셋을 저장하는 지침은 제공하지 않으므로 원하는 방법을 사용할 수 있습니다. 예를 들어, 커서를 다른 스트림, VM의 파일 또는 Object Storage 버킷에 저장할 수 있습니다. 소비자가 다시 시작되면 마지막으로 처리한 메시지의 오프셋을 읽은 다음 AFTER_OFFSET 유형 커서를 만들고 방금 받은 오프셋을 지정합니다.

    Oracle Cloud Infrastructure Streaming에 대한 Kafka 호환성

  • 기존 Kafka 애플리케이션을 스트리밍과 어떻게 통합합니까?

    Streaming 서비스는 기존 Apache Kafka 기반 애플리케이션에서 사용할 수 있는 Kafka 엔드포인트를 제공합니다. 완전 관리형 Kafka 환경을 만들려면 구성만 변경하면 됩니다. Streaming의 Kafka 호환성은 자체 Kafka 클러스터 실행에 대한 대안을 제공합니다. Streaming은 Apache Kafka 1.0 이상 클라이언트 버전을 지원하며 기존 Kafka 애플리케이션, 도구 및 프레임워크에서 작동합니다.

  • 기존 Kafka 애플리케이션이 스트리밍과 상호 작용하려면 어떤 구성을 변경해야 합니까?

    기존 Kafka 애플리케이션을 사용하는 고객은 Kafka 구성 파일의 다음 매개 변수를 변경하여 스트리밍으로 마이그레이션할 수 있습니다.

    security.protocol: SASL_SSL
    sasl.mechanism: PLAIN
    sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="{username}" password="{pwd}";
    bootstrap.servers: kafka.streaming.{region}.com:9092
    # Application settings
    topicName: [streamOcid]
  • Streaming에서 Kafka Connect를 어떻게 사용하나요?

    Streaming에서 Kafka 커넥터를 사용하려면 콘솔 또는 명령줄 인터페이스(CLI)를 사용하여 Kafka Connect 구성을 생성합니다. Streaming API는 이러한 구성 하네스를 호출합니다. 지정된 구획에서 생성된 Kafka Connect 구성은 동일한 구획의 스트림에 대해서만 작동합니다. 동일한 Kafka Connect 구성으로 여러 Kafka 커넥터를 사용할 수 있습니다. 별도의 구획에서 스트림을 생성하거나 사용해야 하는 경우 또는 Kafka Connect 구성에서 스로틀 제한에 도달하지 않도록 더 많은 용량이 필요한 경우(예: 커넥터가 너무 많거나 너무 많은 작업자가 있는 커넥터) Kafka 커넥터 구성을 더 생성할 수 있습니다.

  • 스트리밍이 제공하는 자사 및 타사 제품과의 통합은 무엇입니까?

    Streaming의 Kafka Connect 호환성은 기존의 많은 자사 및 타사 커넥터를 활용하여 데이터를 소스에서 대상으로 이동할 수 있음을 의미합니다. Oracle 제품용 Kafka 커넥터는 다음과 같습니다.

    타사 Kafka 소스 및 싱크 커넥터의 전체 목록은 공식 Confluent Kafka 허브를 참조하십시오.

    Oracle Cloud Infrastructure Streams 모니터링

  • 어디에서 스트림을 모니터링할 수 있습니까?

    Streaming은 Oracle Cloud Infrastructure Monitoring과 완벽하게 통합됩니다. 콘솔에서 모니터링할 스트림을 선택합니다. 스트림 세부 정보 페이지에서 리소스 섹션으로 이동한 다음 생성 모니터링 차트를 클릭하여 제작자 요청을 모니터링합니다. 또는 소비 모니터링 차트를 클릭하여 소비자 측 측정 지표를 모니터링합니다. 측정 지표는 파티션 수준이 아닌 스트림 수준에서 사용할 수 있습니다. 지원되는 Streaming 측정 지표에 대한 설명은 설명서를 참조하십시오.

  • 스트리밍 모니터링 시 어떤 통계를 사용할 수 있습니까?

    콘솔에서 사용 가능한 각 측정 지표는 다음 통계를 제공합니다.

    • 비율, 합계 및 평균
    • 최소, 최대 및 개수
    • P50, P90, P95, P99, P99.9

    이러한 통계는 다음 시간 간격으로 제공됩니다.

    • 자동
    • 1분
    • 5분
    • 1시간
  • 일반적으로 어떤 측정 지표에 대해 경보를 설정해야 합니까?

    제작자의 경우 다음 측정 지표에 대해 경보를 설정하십시오.

    • Get Messages Latency: 지연 시간이 증가하면 메시지 게시 시간이 더 오래 걸리며 이는 네트워크 문제를 나타낼 수 있습니다.
    • Put Messages Total Throughput:
      • 총 처리량이 크게 증가하면 파티션당 초당 1MB 제한에 도달하고 이벤트가 제한 메커니즘을 트리거한다는 의미일 수 있습니다.
      • 중요한 감소는 클라이언트 제작자가 문제를 겪고 있거나 중단하려고 한다는 의미일 수 있습니다.
    • Put Messages Throttled Records: 메시지를 제한될 때 알림을 받는 것이 중요합니다.
    • Put Messages Failure: Ops 팀이 원인을 조사하기 시작할 수 있도록 Put messages가 실패할 경우 알림을 받는 것이 중요합니다.

    소비자의 경우 다음 측정 지표를 기반으로 동일한 경보를 설정하십시오.

    • Get Messages Latency
    • Get Messages Total Throughput
    • Get Messages Throttled Requests
    • Get Messages Failure
  • 스트림이 정상인지를 어떻게 알 수 있습니까?

    스트림은 활성 상태일 때 정상입니다. 스트림에서 작업을 수행할 수 있고 반응이 성공적이면 스트림이 정상인 것입니다. 스트림에서 데이터가 생성된 후에는 구성된 보존 기간 동안 소비자가 액세스할 수 있습니다. GetMessages API 호출이 높은 수준의 내부 서버 오류를 반환하는 경우 서비스가 정상 상태가 아닙니다.

    정상 스트림에는 다음과 같은 정상 측정 지표이 있습니다.

    • Put Messages Latency가 짧습니다.
    • Put Messages Total Throughput이 파티션당 초당 1MB에 가깝습니다.
    • Put Messages Throttled Records가 0에 가깝습니다.
    • Put Messages Failure가 0에 가깝습니다.

    • Get Messages Latency가 짧습니다.
    • Get Messages Total Throughput이 파티션당 초당 2MB에 가깝습니다.
    • Get Messages Throttled Requests가 0에 가깝습니다.
    • Get Messages Failure가 0에 가깝습니다.
  • 스트림에서 메시지가 언제 제한됩니까?

    제한은 스트림이 새로운 읽기 또는 쓰기를 처리할 수 없음을 나타냅니다. 다음 임계 값을 초과하면 제한 메커니즘이 활성화됩니다.

    • GetMessages: 초당 5회 호출 또는 파티션당 초당 2MB
    • PutMessages: 파티션당 초당 1MB
    • 관리 및 제어 패널 작업(CreateCursor, ListStream 등): 스트림당 초당 호출 5개
  • API 오류 목록을 어디에서 찾을 수 있습니까?

    API 오류에 대한 자세한 내용은 설명서에서 확인할 수 있습니다.