Nenhum resultado encontrado

Sua pesquisa não corresponde a nenhum resultado.

Sugerimos que você tente o seguinte para ajudar a encontrar o que procura:

  • Verifique a ortografia da sua pesquisa por palavra-chave.
  • Use sinônimos para a palavra-chave digitada; por exemplo, tente “aplicativo” em vez de “software.”
  • Tente uma das pesquisas populares mostradas abaixo.
  • Inicie uma nova pesquisa.
Perguntas Frequentes

Perguntas Frequentes

Abra tudo Feche tudo

    Geral

  • O que é o Oracle Cloud Infrastructure Streaming?

    O Streaming da Oracle Cloud Infrastructure (OCI) fornece uma solução de mensagens totalmente gerenciada, escalável e durável para ingestão de fluxos contínuos de alto volume de dados que você pode consumir e processar quase em tempo real. O Streaming está disponível em todas as regiões da Oracle Cloud Infrastructure compatíveis. Para obter uma lista, visite a página de Regiões e Domínios de Disponibilidade.

  • Por que devo usar o Streaming?

    Streaming é um serviço sem servidor que descarrega o gerenciamento de infraestrutura, desde a rede até o armazenamento e a configuração necessária para transmitir os dados. Você não precisa se preocupar com o provisionamento de infraestrutura, manutenção contínua ou aplicação dos patches de segurança. O serviço Streaming replica de maneira síncrona dados em três domínios de disponibilidade, proporcionando alta disponibilidade e durabilidade de dados. Em regiões com um único domínio de disponibilidade, os dados são replicados em três domínios de falha.

  • Como posso usar o Streaming?

    O streaming facilita a coleta, o armazenamento e o processamento de dados gerados em tempo real a partir de centenas de fontes. O número de casos de uso é quase ilimitado, variando do sistema de mensagens ao processamento do fluxo de dados complexos. Estes são alguns dos muitos usos possíveis para o Streaming:

    • Mensagens: Use o Streaming para desacoplar os componentes de sistemas grandes. Produtores e consumidores podem usar o Streaming como um barramento de mensagens assíncrono e agir de maneira independente e no próprio ritmo.
    • Ingestão de métricas e logs Use o Streaming como uma alternativa para as abordagens tradicionais de raspagem de arquivos para ajudar a disponibilizar dados operacionais críticos rapidamente para indexação, análise e visualização.
    • Ingestão de dados de atividades móvel ou na Web: Use o Streaming para capturar atividades de sites ou aplicativos móveis, como visualizações de página, pesquisas ou outras ações. Você pode usar essas informações para monitoramento e análise em tempo real e em sistemas de data warehousing para processamento e geração de relatórios offline.
    • Processamento de eventos de infraestrutura e aplicativos: Use o Streaming como um ponto de entrada unificado para os componentes da nuvem reportarem seus eventos de ciclo de vida para atividades de auditoria, contabilidade e atividades relacionadas.
  • Como começo a usar o Streaming?

    Você pode começar a usar o Streaming da seguinte maneira:

    1. Crie um fluxo usando o Console da Oracle Cloud Infrastructure ou o funcionamento da API CreateStream.
    2. Configure os produtores para publicar mensagens no fluxo. Consulte Como publicar mensagens.
    3. Crie consumidores para ler e processar dados do fluxo. Consulte Como consumir mensagens.

    Você também pode usar APIs Kafka para produzo e consumo de um fluxo. Para obter mais informações, consulte Uso do Streaming com Apache Kafka.

  • Quais são os limites de serviço do Streaming?

    A taxa de transferência de Streaming foi projetada para escalonamento sem limites adicionando partições a um fluxo. No entanto, existem determinados limites a serem considerados durante o uso de Streaming:

    • O período máximo de retenção para mensagens em um fluxo é de sete dias.
    • O tamanho máximo de uma mensagem exclusiva que pode ser produzida em um fluxo é de 1 megabyte (MB).
    • Cada partição pode processar até 1 MB por segundo da taxa de transferência com um número qualquer de solicitações de gravações.
    • Cada partição pode suportar uma taxa total máxima de gravação de dados de 1 MB por segundo e uma taxa de leitura de 2 MB por segundo.
  • Como o Streaming se compara com um serviço baseado em fila?

    Streaming oferece semântica baseada em fluxo. A semântica de fluxo oferece garantias estritas de ordenação por partição, capacidade de reprodução da mensagem, cursores no lado do cliente e escala horizontal massiva da taxa de transferência. As filas não oferecem esses recursos. As filas podem ser projetadas para oferecer garantias de pedido em caso de uso de filas FIFO, mas somente ao custo da adição de sobrecarga significativa em termos de desempenho.

    Conceitos Chave

  • O que é um fluxo?

    Fluxo é um log de mensagens particionado, somente anexado, no qual os aplicativos produtores gravam dados nos e dos quais os aplicativos consumidores leem dados.

  • O que é um conjunto de fluxos?

    Um conjunto de fluxos é um agrupamento que você pode usar para organizar e gerenciar fluxos. Os conjuntos de fluxos oferecem facilidade operacional ao fornecer uma capacidade de compartilhar definições de configuração em vários fluxos. Por exemplo, os usuários podem compartilhar configurações de segurança como chaves de criptografia personalizadas no conjunto de fluxos para criptografar os dados de todos os fluxos dentro do conjunto. Um conjunto de fluxos também permite criar um endpoint privado para fluxos restringindo o acesso à Internet para todos os fluxos dentro de um conjunto. Para clientes que usem o recurso de compatibilidade Kafka do Streaming, o conjunto de fluxos funciona como a raiz de um cluster Kafka virtual, permitindo, assim, que cada ação nesse cluster virtual tenha como escopo esse conjunto de fluxos.

  • O que é uma partição?

    Partição é uma unidade da taxa de transferência básica em um fluxo que permite o escalonamento horizontal e o paralelismo da produção e do consumo com base em um fluxo. Uma partição fornece uma capacidade de entrada de dados de 1 MB/s e saída de dados de 2 MB/s. Ao criar um fluxo, você especifica o número de partições necessárias com base nos requisitos da taxa de transferência do aplicativo. Por exemplo, você pode criar um fluxo com dez partições, quando pode atingir uma taxa de transferência de 10 MB/s de entrada e 20 MB/s de saída de um fluxo.

  • O que é uma mensagem?

    Mensagem é uma unidade de dados codificada em base64 armazenada em um fluxo. O tamanho máximo de uma mensagem que você pode produzir para uma partição em um fluxo é de 1 MB.

  • O que é uma chave?

    Uma chave é um identificador usado para agrupar mensagens relacionadas. Mensagens com a mesma chave são gravadas na mesma partição. O streaming garante que qualquer consumidor de uma determinada partição sempre lerá as mensagens dessa partição exatamente na mesma ordem na qual foram gravadas.

  • O que é um produtor?

    Produtor é um aplicativo cliente que pode gravar mensagens em um fluxo.

  • O que são um consumidor e um grupo de consumidores?

    Consumidor é um aplicativo cliente que pode ler mensagens de um ou mais fluxos. Grupo de consumidores é um conjunto de instâncias que coordena mensagens de todas as partições em um fluxo. A qualquer momento, as mensagens de uma partição específica só podem ser consumidas por um único consumidor do grupo.

  • O que é um cursor?

    Cursor é um ponteiro para um local em um fluxo. Esse local pode ser um ponteiro para um deslocamento ou tempo específico em uma partição ou para o local atual de um grupo.

  • O que é um deslocamento?

    Cada mensagem dentro de uma partição possui um identificador chamado deslocamento. Os consumidores podem ler mensagens a partir de um deslocamento específico e podem ler de qualquer ponto de deslocamento que escolherem. Os consumidores também podem confirmar o deslocamento processado mais recente para poder retomar o trabalho sem repetir ou perder uma mensagem caso parem e reiniciem.

    Segurança

  • Qual é a segurança dos meus dados quando estou usando o Oracle Cloud Infrastructure Streaming?

    O Streaming fornece criptografia de dados por padrão, em repouso e em trânsito. O Streaming é totalmente integrado ao Oracle Cloud Infrastructure Identity and Access Management (IAM), o que permite usar políticas de acesso para conceder permissões seletivamente a usuários e grupos de usuários. Ao usar APIs REST, você também pode aplicar PUT e GET com segurança nos seus dados do Streaming por meio de endpoints SSL com protocolo HTTPS. Além disso, o Streaming oferece isolamento completo de dados no nível de locatário, sem problemas de "vizinho barulhento".

  • Posso usar o meu próprio conjunto de chaves mestras para criptografar os dados em fluxos?

    Os dados do Streaming são criptografados em repouso e em trânsito, o que garante a integridade da mensagem. Você pode deixar a Oracle gerenciar a criptografia ou usar o Oracle Cloud Infrastructure Vault para armazenar e gerenciar com segurança as próprias chaves de criptografia, caso precise atender a padrões específicos de conformidade ou segurança.

  • Quais configurações de segurança de um conjunto de fluxos posso editar após a criação?

    Você pode editar as configurações de criptografia de dados do conjunto de fluxos a qualquer momento, caso queira alternar o uso de "Criptografia fornecida por Oracle Keys" e "Criptografia gerenciada usando-se chaves gerenciadas pelo cliente". O Streaming não impõe nenhuma restrição sobre quantas vezes essa atividade pode ser realizada.

  • Como faço para gerenciar e controlar o acesso ao meu fluxo?

    O Streaming é totalmente integrado ao Oracle Cloud Infrastructure IAM. Cada fluxo possui um compartimento atribuído. Os usuários podem especificar políticas de controle de acesso baseadas na função que podem ser usadas para descrever regras refinadas em um nível de locação, compartimento ou fluxo único.

    A política de acesso é especificada na forma de "Permitir <sujeito> para <verbo> <tipo de recurso> em <local> onde <condições>".

  • Qual mecanismo de autenticação os usuários do Kafka devem usar com o Streaming?

    A autenticação com o protocolo Kafka usa tokens de autenticação e o mecanismo SASL/PLAIN. Você pode gerar tokens na página de detalhes do usuário do console. Consulte Como trabalhar com tokens de autenticação para obter maiores informações. Recomendamos que você crie um grupo/usuário dedicado e conceda a esse grupo a permissão para gerenciar fluxos na locação ou no compartimento apropriado. Em seguida, você pode gerar um token de autenticação para o usuário criado e usá-lo na configuração do cliente Kafka.

  • Posso acessar APIs do Streaming de maneira privada pela minha VCN (Virtual Cloud Network, Rede de nuvem virtual) sem usar IPs públicos?

    Endpoints privados restringem o acesso a uma VCN especificada dentro da locação, de maneira que os fluxos não possam ser acessados pela Internet. Os endpoints privados associam um endereço IP privado dentro de uma VCN ao conjunto de fluxos, o que permite ao tráfego do Streaming evitar atravessar a Internet. Para criar um endpoint privado para o Streaming, você precisa de acesso a uma VCN com uma sub-rede privada ao criar o conjunto de fluxos. Consulte Sobre endpoints privados e VCNs e sub-redes para obter mais informações.

    Sistema de preços

  • Como o uso do Oracle Cloud Infrastructure Streaming é cobrado?

    O Streaming usa preços simples de pagamento conforme o uso, o que garante que você pague exclusivamente pelos recursos que usar, sem nenhum custo antecipado. Entre as dimensões de preços estão:

    • Preço de solicitação GET/PUT – gigabytes de dados transferidos
    • Preço de armazenamento, determinado pelo número de horas do período de retenção usado para manter os dados – gigabytes de armazenamento por hora

    Por favor, consulte a página do produto Streaming para obter as informações de preços mais recentes.

  • Haverá cobrança pelo provisionamento mesmo se eu não usar o serviço?

    Os preços líderes do setor do Streaming garantem que você só pague quando usar o serviço. Isso significa que você não paga um preço adicional por recursos quando eles não estão sendo usados.

  • Existe uma cobrança adicional pela entrada no e pela saída de dados do Streaming?

    O Streaming não cobra um preço adicional pela entrada e saída de dados do serviço. Além disso, os usuários podem aproveitar a força do Service Connector Hub a fim de migrar dados para e do Streaming sem um servidor e sem custo adicional.

  • Existe um modo gratuito para o Streaming?

    Atualmente, o Streaming não funciona no modo gratuito.

    Acordo de Nível de Serviço

  • Quais SLAs o Oracle Cloud Infrastructure Streaming garante?

    O Oracle Cloud Infrastructure Streaming garante uma porcentagem de tempo de atividade mensal de pelo menos 99,9%. A porcentagem de tempo de atividade mensal é calculada subtraindo-se a porcentagem não disponível no mês civil de 100% para o serviço do Oracle Cloud Infrastructure Streaming aplicável.

  • Como posso me qualificar para um crédito de serviço em caso de indisponibilidade do serviço?

    Consulte a seção 2.7.1.6.32 Oracle Cloud Infrastructure – Streaming, no documento Pilar do Oracle PaaS and IaaS Public Cloud Services para obter detalhes completos sobre todos os termos e as condições do SLA, além da qualificação para créditos de serviço.

    Gerenciamento dos fluxos do Oracle Cloud Infrastructure Streaming

  • De quais permissões IAM preciso para acessar o Streaming?

    O Identity and Access Management permite controlar quem tem acesso aos seus recursos na nuvem. Para usar os recursos da Oracle Cloud Infrastructure, você deve ter o tipo de acesso necessário em uma política escrita por um administrador, esteja você usando o Console ou a API REST com um SDK, uma CLI ou outras ferramentas. A política de acesso é especificada na forma de


    Permitir <sujeito> para <verbo> <tipo de recurso> em <local> onde <condições>

    Os administradores de uma locação podem usar a política


    Permitir ao grupo StreamAdmins gerenciar fluxos na locação

    que permite a um determinado grupo StreamAdmins fazer tudo com streaming, desde a criação, a atualização, a listagem e a exclusão de fluxos e os recursos relacionados. No entanto, você sempre pode especificar políticas mais granulares de maneira que apenas usuários selecionados em um grupo estejam elegíveis apenas para um subconjunto de atividades que eles podem realizar em um determinado fluxo. Caso você esteja começando nas políticas, consulte Introdução às políticas e Políticas comuns. Caso você queira se aprofundar na redação de políticas do Streaming, consulte Detalhes do serviço do Streaming na política de referência IAM.

  • Como posso automatizar a implantação de fluxos em escala?

    Você pode provisionar um fluxo e todos os componentes associados, como políticas IAM, partições, configurações de criptografia etc. usando o Oracle Cloud infrastructure Resource Manager ou o Terraform provider for Oracle Cloud Infrastructure. Para obter informações sobre o provedor Terraform, consulte Tópico do Terraform para o serviço Streaming.

  • Como decido o número de partições que preciso?

    Ao criar um fluxo, você deve especificar quantas partições o fluxo possui. A taxa de transferência esperada do aplicativo pode ajudar você a determinar o número de partições do fluxo. Multiplique o tamanho médio da mensagem pelo número máximo de mensagens gravadas por segundo para estimar a taxa de transferência esperada. Como uma única partição é limitada a uma taxa de gravação de 1 MB por segundo, uma taxa de transferência mais alta exige partições adicionais para evitar limitação. Para ajudar você a gerenciar picos de aplicativos, recomendamos a alocação de partições um pouco mais altas do que a taxa de transferência máxima.

  • Como faço para criar e excluir partições em um fluxo?

    Você cria partições ao criar um fluxo, seja no Console ou programaticamente.

    Interface do usuário do Console:

    Perguntas frequentes sobre o Big Data Streaming

    Programaticamente:

    Criar um fluxo

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

    Um exemplo mais detalhado acompanha o SDK.

    O Streaming gerencia as partições internamente, de maneira que você não precise gerenciá-las. Um usuário não pode excluir diretamente uma partição. Quando você exclui um fluxo, todas as partições associadas a esse fluxo são excluídas.

  • Qual é a taxa de transferência mínima que posso solicitar para um fluxo?

    A taxa de transferência de um fluxo da Oracle Cloud Infrastructure é definida por uma partição. Uma partição oferece 1 MB por segundo de entrada de dados e 2 MB por segundo de saída de dados.

  • Qual é a taxa de transferência máxima que posso solicitar para um fluxo?

    A taxa de transferência de um fluxo da Oracle Cloud Infrastructure pode ser escalonada adicionando-se mais partições. Não há limites teóricos máximos quanto ao número de partições que um fluxo pode conter. No entanto, cada locação da Oracle Cloud Infrastructure acompanha um limite de partição padrão de 5 para contas do tipo Universal Credits. Caso precise de mais partições, você pode sempre solicitar que os limites de serviço sejam aumentados.

  • Como posso aumentar os limites de serviço para minha locação usando o Oracle Cloud Infrastructure Console?

    Você pode solicitar um aumento no limite de serviço seguindo estas etapas:

    1. No canto superior direito do Console, abra o menu Usuário e clique em Locação: <tenancy_name> .

      Perguntas frequentes sobre o Big Data Streaming 9
    2. Clique em Limites de serviço e clique em Solicitar um aumento no limite de serviço.

      Perguntas frequentes sobre o Big Data Streaming
    3. Preencha o formulário selecionando Outros para Categoria de serviço e Outros limites para Recurso. Em Motivo da solicitação, solicite o aumento o número de partições do serviço Streaming na locação.
  • Quais são algumas das boas práticas para gerenciar fluxos?

    Aqui estão algumas boas práticas que você deve ter em mente ao criar um fluxo:

    • Os nomes de fluxo devem ser exclusivos dentro de um conjunto de fluxos. Isso significa que você só poderá criar dois fluxos com o mesmo nome no mesmo compartimento se eles estiverem em conjuntos de fluxos diferentes.
    • Depois que um fluxo for criado, você não poderá alterar o número de partições nele. Recomendamos a alocação de partições um pouco além da taxa de transferência máxima. Isso pode ajudar você a gerenciar picos de aplicativos.
    • O período de retenção de um fluxo não poderá ser alterado depois de ter sido criado. Por padrão, os dados são armazenados em um fluxo por 24 horas. No entanto, eles podem ser configurados para reter os dados entre 24 e 168 horas. A quantidade de dados armazenados em um fluxo não tem impacto sobre o desempenho do fluxo.

    Produção de mensagens para um fluxo da Oracle Cloud Infrastructure

  • Como faço para produzir mensagens para um fluxo?

    Depois que um fluxo é criado e está no estado "Ativo", você pode começar a produzir mensagens. Você pode produzir em um fluxo usando o console ou por meio da API.

    Para console: Vá para a seção de serviço do Streaming no console, localizada na guia Soluções e plataforma > Análise. Caso você já tenha criado os fluxos, selecione um fluxo em um compartimento e navegue até a página "Detalhes do fluxo". Clique no botão "Produzir mensagem de teste" no console. Isso vai atribuir aleatoriamente uma chave de partição à mensagem e gravar em uma partição no fluxo. Você pode exibir essa mensagem na seção Mensagens recentes clicando no botão Carregar mensagens.

    Para APIs: Você pode usar APIs do Oracle Cloud Infrastructure Streaming ou APIs do Kafka para produção em um fluxo. A mensagem será publicada em uma partição no fluxo. Caso haja mais de uma partição, você especifica uma chave para escolher para qual partição deve enviar a mensagem e, caso não especifique uma chave, o Streaming atribui uma gerando um UUID e envia a mensagem para uma partição aleatória. Isso garante que as mensagens sem uma chave sejam distribuídas de maneira uniforme em todas as partições. No entanto, recomendamos que você especifique sempre uma chave de mensagem de maneira que possa controlar explicitamente a estratégia de particionamento dos dados.

    Os exemplos de como produzir mensagens para um fluxo usando SDKs do Streaming estão localizados na documentação .

  • Como posso saber qual partição um produtor usará?

    Durante o uso das APIs da Oracle Cloud Infrastructure para produzir uma mensagem, a lógica de particionamento é controlada pelo Streaming. Isso é chamado de particionamento no lado do servidor. Como usuário, você escolhe para qual partição enviar com base na chave. A chave é hash, e o valor resultante é usado para determinar o número da partição para a qual enviar a mensagem. Mensagens com a mesma chave vão para a mesma partição. Mensagens com chaves diferentes podem ir para partições diferentes ou para as mesmas.

    No entanto, caso você esteja usando APIs do Kafka a fim de produzir para um fluxo, o particionamento é controlado pelo cliente Kafka, e o particionador no cliente Kafka é responsável pela lógica de particionamento. Isso é chamado de particionamento no lado do cliente.

  • Como faço para gerar uma chave de partição eficaz?

    Para garantir a distribuição uniforme de mensagens, você precisa de um valor efetivo para as chaves de mensagem. Para criar um, considere a seletividade e a cardinalidade dos seus dados de streaming.

    • Cardinalidade: Considere o número total de chaves exclusivas que podem ser potencialmente geradas com base no caso de uso específico. Uma cardinalidade chave mais alta geralmente significa uma melhor distribuição.
    • Seletividade: Considere o número de mensagens com cada chave. Maior seletividade significa mais mensagens por chave, o que pode levar a pontos de acesso.

    Sempre procure alta cardinalidade e baixa seletividade.

  • Como posso garantir que as mensagens sejam entregues aos consumidores na mesma ordem em que são produzidas?

    O Streaming garante leituras e gravações linearizáveis dentro de uma partição. Se você deseja garantir que as mensagens com o mesmo valor irão para a mesma partição, use a mesma chave para essas mensagens.

  • Como o tamanho da mensagem pode afetar a taxa de transferência do meu fluxo?

    Uma partição oferece uma taxa de entrada de dados de 1 MB/s e suporta até 1.000 mensagens PUT por segundo. Por isso, se o tamanho do registro for menor que 1 KB, a taxa real da entrada de dados de uma partição será inferior a 1 MB/s, limitada pelo número máximo de mensagens PUT por segundo. Recomendamos que você produza mensagens em lotes pelos seguintes motivos:

    • Isso reduz o número de solicitações PUT enviadas ao serviço, o que evita a otimização.
    • Isso permite uma taxa de transmissão melhor.

    O tamanho de um lote de mensagens não deve exceder 1 MB. Se esse limite for excedido, o mecanismo de limitação é acionado.

  • Como lidar com mensagens com mais de 1 MB?

    Você pode usar fragmentação ou enviar a mensagem usando o Oracle Cloud Infrastructure Object Storage.

    • Fragmentação: Você pode dividir cargas úteis grandes em vários chunks menores que podem ser aceitos pelo Streaming. Os chunks são armazenados no serviço da mesma maneira que as mensagens comuns, sem chunk, são armazenadas. A única diferença é que o consumidor deverá manter os chunks e combiná-los na mensagem quando todos os chunks tiverem sido coletados. Os chunks na partição podem ser entrelaçados com mensagens comuns.
    • Object Storage: Uma carga útil grande é colocada no Object Storage e apenas o indicador para esses dados é transferido. O receptor reconhece esse tipo de carga útil do indicador, lê de forma transparente os dados do Object Storage e os fornece ao usuário final.
  • O que acontecerá se eu produzir a uma taxa maior do que a permitida por uma partição?

    Quando um produtor cria uma taxa superior a 1 MB por segundo, a solicitação é restringida, e um erro "429, Muitas solicitações" o erro é reenviado para o cliente indicando que muitas solicitações por segundo por partição estão sendo recebidas.

    Consumo de mensagens de um fluxo da Oracle Cloud Infrastructure

  • Como leio dados de um fluxo?

    Um consumidor é uma entidade que lê mensagens de um ou mais fluxos. Essa entidade pode existir sozinha ou fazer parte de um grupo de consumidores. Para consumir mensagens, você deve criar um cursor e então usá-lo para ler as mensagens. Um cursor aponta para um local em um fluxo. Esse local pode ser um deslocamento ou tempo específico em uma partição ou o local atual de um grupo. Dependendo do local de onde você gostaria de ler, existem vários tipos de cursor disponíveis: TRIM_HORIZON, AT_OFFSET, AFTER_OFFSET, AT_TIME, e LATEST.

    Para obter mais informações, consulte a documentação em Consumo de mensagens.

  • Qual é o número máximo de mensagens que posso consumir de um fluxo a qualquer momento?

    O método getLimit () da classe GetMessagesRequest retorna o número máximo de mensagens. Você pode especificar qualquer valor até 10.000. Por padrão, o serviço retorna o maior número possível de mensagens. Considere o tamanho médio da mensagem para evitar exceder a taxa de transferência no fluxo. Os tamanhos de lote do "GetMessages" de streaming são baseados no tamanho médio da mensagem produzido no fluxo específico.

  • Como evito mensagens duplicadas para meus consumidores?

    O Streaming oferece semântica de entrega "pelo menos uma vez" aos consumidores. Recomendamos que os aplicativos de consumidor cuidem das duplicatas. Por exemplo, quando uma instância anteriormente inativa do grupo de consumidores se junta novamente ao grupo e começa a consumir mensagens que não foram confirmadas pela instância atribuída anteriormente, há uma chance de processar cópias.

  • Como posso saber se um consumidor está ficando para trás?

    Diz-se que um consumidor fica para trás caso você esteja produzindo mais rápido do que pode consumir. Para determinar se o consumidor está ficando para trás, você pode usar o registro de data/hora da mensagem. Se o consumidor estiver atrasado, considere criar um novo consumidor para assumir algumas das partições do primeiro consumidor. Se você está ficando para trás em uma única partição, não há como se recuperar.

    Considere as seguintes opções:

    • Aumente o número de partições no fluxo.
    • Se o problema for causado por um ponto de acesso, altere a estratégia da chave da mensagem.
    • Reduza o tempo de processamento de mensagens ou manipule solicitações em paralelo.

    Se você quiser saber quantas mensagens restam para consumir em uma determinada partição, use um cursor de tipo LATEST, obtenha o deslocamento da próxima mensagem publicada e faça o delta com o deslocamento que você está consumindo atualmente. Como não temos deslocamento denso, você só recebe uma estimativa aproximada. No entanto, se o seu produtor parar de produzir, você não poderá obter essas informações porque nunca receberá o deslocamento da próxima mensagem publicada.

  • Como funcionam os grupos de consumidores?

    Os consumidores podem ser configurados para consumir mensagens como parte de um grupo. As partições de fluxo são distribuídas entre os membros de um grupo, para que as mensagens de qualquer partição única só sejam enviadas para um único consumidor. As atribuições de partição são reequilibradas à medida que os consumidores entram no ou saem do grupo. Para obter mais informações, consulte a documentação em Grupos de Consumidores.

  • Por que devo usar grupos de consumidores?

    Grupos de consumidores oferecem as seguintes vantagens:

    • Cada instância em um grupo de consumidores recebe mensagens de uma ou mais partições que são "automaticamente" atribuídas a ela e as mesmas mensagens não serão recebidas pelas outras instâncias atribuídas a diferentes partições. Dessa forma, podemos aumentar o número de instâncias até o número das partições tendo uma instância lendo apenas uma partição. Nesse caso, uma nova instância de ingresso no grupo está em estado ocioso sem ser atribuída a nenhuma partição.
    • Ter instâncias como parte de "diferentes grupos de consumidores" significa fornecer um "padrão de publicação/assinatura" no qual as mensagens de partições são enviadas para todas as instâncias nos diferentes grupos.
      Dentro do mesmo grupo de consumidores, as regras são mostradas na seguinte imagem:
      Perguntas frequentes sobre o Big Data Streaming 11

      Em grupos diferentes, as instâncias recebem as mesmas mensagens, conforme mostrado na seguinte imagem:
      Perguntas frequentes do Big Data Streaming 12
      Isso é útil quando as mensagens dentro de uma partição são de interesse para diferentes aplicativos que as processam de maneiras diferentes. Queremos que todos os aplicativos interessados recebam todas as mesmas mensagens da partição.
    • Quando uma instância ingressa em um grupo, se houver partições suficientes disponíveis (ou seja, o limite de uma instância por partição não foi atingido), um reequilíbrio é iniciado. As partições são reatribuídas para as instâncias atuais, mais a nova. Da mesma maneira, se uma instância sair de um grupo, as partições serão reatribuídas para as instâncias restantes.
    • As confirmações de deslocamento são gerenciadas automaticamente.
  • Existe um limite quanto ao número de grupos de consumidores que posso ter por fluxo?

    Há um limite de 50 grupos de consumidores por fluxo. Os grupos de consumidores são efêmeros. Eles desaparecem quando não são usados para o período de retenção do fluxo.

  • Sobre quais tempos limite devo estar ciente ao usar consumidores e grupos de consumidores?

    Os seguintes componentes do Streaming têm tempos limite:

    • Cursor: Contanto que você continue consumindo mensagens, não há necessidade de criar um cursor. Se o consumo de mensagens for interrompido por mais de 5 minutos, o cursor deverá ser recriado.
    • Instância: Se uma instância parar de consumir mensagens por mais de 30 segundos, ela será removida do grupo de consumidores e sua partição será reatribuída para outra instância. Isso é conhecido como rebalanceamento.
  • O que é reequilíbrio dentro de um grupo de consumidores?

    Rebalanceamento é o processo no qual um grupo de instâncias pertencentes ao mesmo grupo de consumidores se coordena para possuir um conjunto de partições mutuamente excludentes que pertence a um fluxo específico. No final de uma operação de reequilíbrio bem-sucedida para um grupo de consumidores, todas as partições no fluxo pertencem a uma ou mais instâncias do consumidor dentro do grupo.

  • O que dispara uma atividade de rebalanceamento dentro de um grupo de consumidores?

    Quando uma instância de um grupo de consumidores se torna inativa porque não consegue enviar uma pulsação por mais de 30 segundos ou o processo é encerrado, uma atividade de rebalanceamento é disparada dentro do grupo de consumidores. Isso é feito para lidar com as partições consumidas anteriormente pela instância inativa e reatribuí-la a uma instância ativa. Da mesma forma, quando uma instância de um grupo de consumidores que estava inativo anteriormente se junta ao grupo, um rebalanceamento é acionado para atribuir uma partição a partir da qual começar a consumir. O serviço Streaming não oferece nenhuma garantia na reatribuição da instância à mesma partição quando ela se junta novamente ao grupo.

  • Como me recupero de uma falha do consumidor?

    Para se recuperar de uma falha, você deve armazenar o deslocamento da última mensagem que processou para cada partição para poder começar a consumir a partir dessa mensagem se precisar reiniciar o consumidor.


    Observação: Não armazene o cursor; eles expiram após 5 minutos.

    Como não damos nenhuma orientação para armazenar o deslocamento da última mensagem processada, você pode usar o método que quiser. Por exemplo, você pode armazenar o cursor em outro fluxo, ou um arquivo em uma VM ou um intervalo do Object Storage. Quando seu consumidor reiniciar, leia o deslocamento da última mensagem que você processou e crie um cursor do tipo AFTER_OFFSET e especifique o deslocamento que você acabou de receber.

    Compatibilidade do Kafka com o Oracle Cloud Infrastructure Streaming

  • Como faço para integrar o meu aplicativo Kafka existente ao Streaming?

    O serviço Streaming oferece um endpoint do Kafka que pode ser usado pelos seus aplicativos baseados no Apache Kafka existentes. Uma mudança na configuração é todo o necessário para ter uma experiência Kafka totalmente gerenciada. A compatibilidade do Kafka do Streaming oferece uma alternativa à execução do seu próprio cluster Kafka. O Streaming é compatível com o Apache Kafka 1.0 e as versões de clientes mais recentes e funciona com os aplicativos, as ferramentas e as estruturas Kafka existentes.

  • Quais mudanças na configuração precisam ser feitas para que o meu aplicativo Kafka existente interaja com o Streaming?

    Os clientes com aplicativos Kafka existentes poderão migrar para o Streaming simplesmente alterando-se os seguintes parâmetros do arquivo de configuração do 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
    # Configurações do aplicativo
    topicName: [streamOcid]
  • Como faço para usar o Kafka Connect com o Streaming?

    Para usar os conectores Kafka com o Streaming, crie uma configuração do Kafka Connect usando o Console ou a CLI (Command-Line Interface, Interface da linha de comando). A API Streaming chama essas configurações de escudos. As configurações do Kafka Connect criadas em um determinado compartimento só funcionam para fluxos no mesmo compartimento. Você pode usar vários conectores Kafka com a mesma configuração do Kafka Connect. Nos casos que exijam a produção ou o consumo de fluxos em compartimentos à parte, ou onde mais capacidade é necessária para evitar atingir os limites na configuração do Kafka Connect (por exemplo, muitos conectores ou conectores com muitos trabalhadores), você pode criar mais configurações do Kafka Connector.

  • Quais integrações com produtos originais e de terceiros o streaming oferece?

    A compatibilidade do Kafka Connect do Streaming significa que você pode aproveitar as vantagens dos muitos conectores existentes originais e de terceiros para migrar dados das fontes para os destinos. Entre os conectores Kafka para produtos Oracle estão:

    Para obter uma lista completa de conectores Kafka de fonte e coletores de terceiros, consulte o centro oficial do Confluent Kafka.

    Monitoramento dos fluxos do Oracle Cloud Infrastructure Streaming

  • Onde posso monitorar meu fluxo?

    O Streaming é totalmente integrado ao Oracle Cloud Infrastructure Monitoring. No Console, selecione o fluxo que você deseja monitorar. Na página Detalhes do fluxo, navegue até a seção Recursos e clique em Produzir gráficos de monitoramento para monitorar as solicitações do produtor ou clique em Consumir gráficos de monitoramento para monitorar as métricas no lado do consumidor. As métricas estão disponíveis em um nível de fluxo, e não em um nível de partição. Para obter uma descrição das métricas do Streaming compatíveis, consulte a documentação.

  • Quais estatísticas estão disponíveis durante o monitoramento do Streaming?

    Cada métrica disponível no Console fornece as seguintes estatísticas:

    • Taxa, Soma e Média
    • Mín, Máx e Contagem
    • P50, P90, P95, P99 e P99.9

    Essas estatísticas são oferecidas para os seguintes intervalos de tempo:.

    • Auto
    • 1 minuto
    • 5 minutos
    • 1 hora
  • Para quais métricas normalmente devo definir alarmes?

    Para os produtores, considere definir alarmes nas seguintes métricas:

    • Latência de mensagens Put Um aumento na latência significa que as mensagens estão demorando mais para serem publicadas, o que pode indicar problemas de rede.
    • Taxa de transferência total de mensagens Put:
      • Um aumento importante na taxa de transferência total pode indicar que o limite de 1 MB por segundo por partição será atingido e esse evento acionará o mecanismo de limitação.
      • Uma diminuição importante pode significar que o produtor do cliente está tendo um problema ou está prestes a parar.
    • Registros de limites de mensagens Put: É importante ser notificado quando as mensagens são limitadas.
    • Falha nas mensagens Put: É importante ser notificado se as mensagens Put começarem a falhar, para que a equipe de operações possa começar a investigar os motivos.

    Para os consumidores, considere definir os mesmos alarmes com base nas seguintes métricas:

    • Latência de Mensagens Obtidas
    • Taxa de transferência Total de mensagens Get
    • Solicitações Limitadas de Mensagens Obtidas
    • Falha no Recebimento de Mensagens
  • Como sei que meu fluxo é saudável?

    Um fluxo é saudável quando está em um estado ativo. Se você pode produzir para o seu fluxo e obter uma resposta bem-sucedida, o fluxo é de integridade. Após a produção dos dados no fluxo, eles ficam acessíveis aos consumidores pelo período de retenção configurado. Se as chamadas à API GetMessages retornarem níveis elevados de erros internos do servidor, o serviço não será íntegro.

    Um fluxo saudável também possui métricas saudáveis:

    • Latência das mensagens Put é baixa.
    • A taxa de transferência total de mensagens Put está próxima de 1 MB por segundo por partição.
    • Registros limitados de mensagens Put está próximo de 0.
    • Falha de Mensagens Colocadas está próxima de 0.

    • Latência das Mensagens Obtidas é baixa.
    • A taxa de transferência total de mensagens Get está próxima de 2 MB por segundo por partição.
    • Solicitações Limitadas de Mensagens Obtidas está próxima de 0.
    • Falha de Mensagens Obtidas está próxima de 0.
  • Quando as mensagens são limitadas em um fluxo?

    A limitação indica que o fluxo é incapaz de processar novas leituras ou gravações. O mecanismo de limitação é ativado quando os seguintes limites são excedidos:

    • GetMessages: Cinco chamadas por segundo ou 2 MB por segundo por partição
    • PutMessages: 1 MB por segundo por partição
    • Operações de gerenciamento e plano de controle, como CreateCursor, ListStream etc.: Cinco chamadas por segundo por fluxo
  • Onde posso encontrar a lista dos erros de API?

    Detalhes sobre os erros de API estão localizados na documentação.