Os fluxos permitem que o mesmo fluxo seja consumido por diferentes consumidores usando o comando xread. Com isso, as mesmas mensagens serão enviadas para vários clientes. Em alguns casos, precisamos empurrar um subconjunto diferente de mensagens do mesmo fluxo para vários consumidores. O conceito de grupos de consumidores foi implementado com fluxos Redis para apoiar isso na ilustração a seguir.
Como mostrado na ilustração acima, os três consumidores Consumer1, Consumer2 e Consumer3 estão consumindo entradas diferentes do fluxo Usuário. Cada um desses consumidores faz parte do grupo de consumidores 1. Sendo membro do 'Consumidor, o Grupo 1' garante os seguintes fatos:
O comando xgroup
O XGroup é o comando de contêiner para gerenciar os grupos de consumidores associados aos fluxos Redis. Consiste em vários subcomandos importantes para criar/excluir grupos de consumidores e criar/excluir consumidores pertencentes a um grupo. A sintaxe básica do comando XGroup é a seguinte:
XGROUP [[valor] [Opções]…]: O nome do subcomando para operações como a criação e exclusão de consumidores e grupos de consumidores.
: Os argumentos de subcomando, se disponível.
[valor]: Se um argumento aceitar um valor, pode ser especificado. É opcional e permitido apenas para certos comandos.
O resultado retornado variará com base no subcomando especificado.
Os subcomandos XGroup
Vários subcomandos estão disponíveis para uso com o comando xgroup. Há um subcomando especial chamado 'ajuda' que exibe todos os subcomandos disponíveis para uso.
XGroup AjudaO ajuda Subcomando retorna uma variedade de subcompâncias com suas descrições.
CRIAR
O CRIAR Subcomando pode ser usado para criar um novo grupo de consumidores para um determinado fluxo. A sintaxe é a seguinte:
Isso criará um novo grupo de consumidores identificado pelo 'group_name' associado ao dado 'stream_key '. O 'MkStream' A opção cria um novo fluxo com o comprimento de 0 se o fluxo especificado não existir no DataStore Redis.
CreateConsumer
Quando você precisa criar um consumidor para um determinado grupo, o subcomando do createConsumer pode ser usado. Ele aceita apenas a chave do fluxo, o nome do grupo de consumidores e um nome de consumidor único como argumentos.
Delconsumer
Um consumidor criado pode ser excluído usando o subcomando DelConsumer com o comando XGroup. A sintaxe Subcomando de DelConsumer é a seguinte:
Observe que antes de excluir um consumidor do grupo de consumidores é reivindicar ou reconhecer todas as mensagens pendentes associadas ao consumidor. Este comando retornará o número de mensagens pendentes associadas ao consumidor excluído.
DESTRUIR
Sempre que você precisar excluir um grupo de consumidores com todos os consumidores e mensagens pendentes, o subcomando de destruição pode ser usado. Então, é recomendável usar este comando com cuidado.
Este comando retornará um número inteiro 0 ou 1, que é a contagem dos grupos de consumidores excluídos.
Setid
O subcomando SetId permite modificar o último valor de identificação entregue. Sempre que você precisar processar todas as entradas do fluxo, o último ID entregue deve ser definido como 0 usando o subcomando SetId.
Se o último ID entregue foi definido corretamente, o comando retornará uma string simples OK.
Conclusão
O comando Xgroup Container é usado para gerenciar os grupos de consumidores associados a um determinado fluxo. O especial AJUDA O comando pode ser usado para exibir todos os subcomandos disponíveis para o comando xgroup. Criação e exclusão de consumidores e grupos de consumidores podem ser feitos usando os subcomando mencionados. Além disso, o subcomando SetId suporta a atualização do último ID entregue de um determinado grupo de consumidores. No geral, a saída do comando xgroup varia com o subcomando sendo usado.