Especificações
Especificações da instância do Kafka
As instâncias do Kafka são compatíveis com o Kafka de código aberto Kafka v1.1.0 e v2.7. As especificações da instância são classificadas com base na variante ECS, incluindo kafka.2u4g.cluster.small, kafka.2u4g.cluster, kafka.4u8g.cluster, kafka.8u16g.cluster, kafka.12u24g.cluster e kafka.16u32g.cluster.
Na tabela a seguir, as transações por segundo (TPS) são calculadas assumindo que o tamanho de uma mensagem é de 1 KB. Para obter detalhes sobre o desempenho do TPS, consulte Cenários de teste.
Flavor |
Brokers |
Máximo de TPS por broker |
Máximo de partições por broker |
Máximo de grupos de consumidores por broker |
Máximo de conexões de clientes por broker |
Espaço de armazenamento |
Tráfego por broker (MB/s) |
---|---|---|---|---|---|---|---|
kafka.2u4g.cluster.small |
3–30 |
20.000 |
100 |
15 |
2000 |
300 GB–300.000 GB |
40 |
kafka.2u4g.cluster |
3–30 |
30.000 |
250 |
20 |
2000 |
300 GB–300.000 GB |
100 |
kafka.4u8g.cluster |
3–30 |
100.000 |
500 |
100 |
4000 |
300 GB–600.000 GB |
200 |
kafka.8u16g.cluster |
3–50 |
150.000 |
1000 |
150 |
4000 |
300 GB–1.500.000 GB |
250 |
kafka.12u24g.cluster |
3–50 |
200.000 |
1500 |
200 |
4000 |
300 GB–1.500.000 GB |
375 |
kafka.16u32g.cluster |
3–50 |
250.000 |
2000 |
200 |
4000 |
300 GB–1.500.000 GB |
500 |
Especificações de instância e largura de banda de rede
A largura de banda de rede de uma instância do Kafka consiste no seguinte:
- Largura de banda da rede usada pelos brokers da instância
- Largura de banda do disco usado pelos brokers da instância. Para obter detalhes, consulte Tipos de disco e desempenho.
Observação:
- Por padrão, os testes do Kafka são executados no cenário de leitura traseira (ou seja, apenas os dados de produção mais recentes são consumidos) em vez do cenário de leitura a frio (ou seja, os dados históricos são consumidos desde o início).
- A largura de banda de uma instância com um flavor antigo (como 100 MB/s) é a largura de banda total da rede de todos os brokers da instância.
O cálculo de tráfego de instâncias com novos flavors (como kafka.2u4g.cluster) é descrito da seguinte forma:
- A taxa de leitura/gravação é de 1:1.
- O número padrão de réplicas de tópicos é 3.
- Total de tráfego de rede = tráfego por broker x quantidade de broker
- Tráfego total de instâncias = tráfego de serviço + tráfego de replicação de dados entre brokers
Suponha que o flavor atual seja kafka.2u4g.cluster, o tráfego por broker seja 100 MB/s e o número de brokers seja 3. Qual é o tráfego total da rede, o tráfego máximo de leitura e o tráfego máximo de gravação da instância?
- Tráfego total da rede = tráfego por broker x quantidade de broker = 100 MB/s x 3 = 300 MB/s
- Tráfego máximo de leitura = tráfego de rede total da instância/número padrão de réplicas/2 = 300 MB/s/3/2 = 50 MB/s
- Tráfego máximo de gravação = tráfego de rede total da instância/número padrão de réplicas/2 = 300 MB/s/3/2 = 50 MB/s
Mapeamento entre flavors anteriores e novos
Tabela 2 compara os sabores de instância anteriores e novos do Kafka a preços semelhantes.
Flavor anterior |
Flavor novo |
||||
---|---|---|---|---|---|
Especificações |
Máximo de partições |
Tráfego de rede de instância total |
Especificações |
Máximo de partições |
Tráfego de rede de instância total |
100 MB/s |
300 |
100 MB/s |
kafka.2u4g.cluster x 3 |
750 |
300 MB/s |
300 MB/s |
900 |
300 MB/s |
kafka.4u8g.cluster x 3 |
1500 |
600 MB/s |
600 MB/s |
1800 |
600 MB/s |
kafka.8u16g.cluster x 4 |
4000 |
1000 MB/s |
1200 MB/s |
1800 |
1200 MB/s |
kafka.8u16g.cluster x 8 |
8000 |
2000 MB/s |
As seguintes conclusões podem ser tiradas da tabela anterior:
- Novos flavors proporcionam melhor desempenho ao mesmo preço.
- Flavors anteriores usam recursos não exclusivos. Se a carga for pesada, ocorrerão conflitos de recursos. Em contraste, os novos flavors usam recursos exclusivos para que eles forneçam melhor desempenho e custo-benefício.
- Instâncias com novos flavors suportam as funções mais recentes. Por exemplo, o flavor do broker pode ser ajustado dinamicamente para lidar melhor com mudanças complexas de serviço.
Seleção de flavor
- kafka.2u4g.cluster.small com 3 brokers
Recomendado para até 6000 conexões de clientes, 45 grupos de consumidores e 60.000 TPS
- kafka.2u4g.cluster com 3 brokers
Recomendado para até 6000 conexões de clientes, 60 grupos de consumidores e 90.000 TPS
- kafka.4u8g.cluster com 3 brokers
Recomendado para até 12.000 conexões de clientes, 300 grupos de consumidores e 300.000 TPS
- kafka.8u16g.cluster com 3 brokers
Recomendado para até 12.000 conexões de clientes, 450 grupos de consumidores e 450.000 TPS
- kafka.12u24g.cluster com 3 brokers
Recomendado para até 12.000 conexões de clientes, 600 grupos de consumidores e 600.000 TPS
- kafka.16u32g.cluster com 3 brokers
Recomendado para até 12.000 conexões de clientes, 600 grupos de consumidores e 750.000 TPS
Seleção de espaço de armazenamento
As instâncias do Kafka suportam o armazenamento de múltiplas réplicas. O espaço de armazenamento é consumido por todas as réplicas. Ao criar uma instância, especifique seu espaço de armazenamento com base no tamanho esperado da mensagem de serviço e no número de réplicas.
Por exemplo, se o tamanho estimado da mensagem for de 100 GB, a capacidade do disco deverá ser pelo menos: 100 GB x número de réplicas + 100 GB (espaço reservado).
O espaço de armazenamento pode ser expandido à medida que seu serviço cresce.
Quantidade de tópico
Há limites na quantidade de tópicos e no número agregado de partições nos tópicos. Quando o limite de quantidade de partição é atingido, você não pode mais criar tópicos.
O número de tópicos está relacionado ao número máximo de partições permitidas (consulte Figura 1) e ao número especificado de partições em cada tópico (consulte Tabela 1).
O número máximo de partições permitidas para uma instância com kafka.2u4g.cluster e 3 brokers é 750.
- Se o número de partições de cada tópico na instância for 3, o número máximo de tópicos será 750/3 = 250.
- Se o número de partições de cada tópico na instância for 1, o número máximo de tópicos será 750/1 = 750.