[Big Talk Cloud Native] A maravilhosa relação entre filas de mensagens e armários expressos (com vídeo)

Eu li muitos artigos sobre nuvem nativa, nuvem e neblina, ou alta e baixa. Portanto, o autor tem a ideia de escrever uma série de artigos "Dahua Cloud Native", esperando usar a linguagem mais popular, simples e cenários fáceis de lembrar para explicar: a composição e as relações de aplicação no ecossistema nativo da nuvem.

Nos artigos anteriores, apresentamos docker, k8s, publicação em escala de cinza, microsserviços, balanceamento de carga, etc. Quando se trata de filas de mensagens, alguns amigos costumam ouvir alguns termos de outros, como: desacoplamento de programas de serviço, processamento de picos de tráfego, melhoria da experiência do usuário por meio de processamento assíncrono e processamento em lote de buffer para melhorar o desempenho do processamento. O autor é bom em explicar no vernáculo, então não uso termos profissionais para explicar questões profissionais. Sempre senti que a função da fila de mensagens é muito semelhante à do gabinete expresso.Qual é o método de similaridade? Deixe-me dizer-lhe em detalhes.

A maravilhosa relação entre filas de mensagens e armários expressos

1. A fila de mensagens é um gabinete de correio

Vamos comparar armários expressos com filas de mensagens

  • A fila de mensagens é comparada aos armários expressos : existem muitos fabricantes produzindo armários expressos, tais como: Fengchao (apache kafka), expresso (alibaba RocketMQ), tesouro vizinho (ActiveMQ), etc. De qualquer forma, esses são os mais usados. O gabinete expresso é responsável por salvar temporariamente as mensagens e a fila de mensagens é responsável por salvar temporariamente os dados das mensagens.
  • O entregador é comparado a um produtor de mensagens : o entregador é responsável por entregar a correspondência ao armário expresso e o produtor é responsável por entregar as mensagens na fila de mensagens. Que coisa maravilhosa de se fazer!
  • Os consumidores são comparados aos consumidores de mensagens : Pode ser que este exemplo seja tão adequado que esta frase seja absurda de qualquer maneira que você a veja. Bobagem ainda está para ser dito, os consumidores na vida recebem e-mail, os consumidores no programa recebem dados de mensagens.

Em segundo lugar, os benefícios dos armários expressos (filas de mensagens)

Vamos primeiro rever como passamos os dias sem um armário de correio : uma manhã, de repente, recebemos um telefonema de um correio: "Irmão, eu tenho seu correio". Achei muito ruim: "Você não vai chegar cedo nem tarde, eu vou trabalhar logo, você vem a essa hora. Bom, vou te esperar um pouco." Como resultado, é possível que o correio não seja muito confiável, às vezes dizendo que há um engarrafamento, às vezes dizendo que ele estará aqui em breve e esperando que você se atrase para o trabalho. Essa situação acaba com você!

De repente, um dia, uma coisa chamada armário de correio apareceu de repente na comunidade. Essa coisa é boa. "Irmão, aí está o seu mensageiro." Eu pensei comigo mesmo quem é seu irmão: "Ah, você pode colocar no armário do correio, eu volto depois de sair do trabalho à noite para buscá-lo." O mensageiro alegremente colocou o mensageiro no armário do correio e começou a fazer um telefonema, 10 e-mails pela manhã. Se cada um for entregue na porta, o correio levará pelo menos meia hora. Pronto, agora, 9 armários expressos, 1 usuário pediu para ser entregue na porta, e foi feito em 10 minutos. O correio acha que isso é muito bom!

Os correios estão felizes e os consumidores estão realmente muito satisfeitos.Alguns viciados em compras podem receber 10 ou mais e-mails por dia. Quando não houver cabine de correio, o correio pegará o correio uma vez (espere uma vez) com uma única chamada. Com o armário expresso, posso levar tudo junto quando saio do trabalho. O exemplo acima reflete várias vantagens da fila de mensagens (gabinete expresso), por favor comente com atenção:

  • Desacoplamento assíncrono: Com os armários expressos, os consumidores não precisam esperar pelos correios e a experiência do usuário é aprimorada. A dissociação entre consumidores e produtores (correios) não afetará seus próprios procedimentos independentes devido ao comportamento operacional da outra parte. Os usuários não precisam esperar e receber eventos demorados para bloquear.
  • Corte de tráfego: assumimos uma situação extrema, você compra 1.000 livros por vários canais e, de repente, liga para você em uma determinada hora. Você definitivamente não tem a capacidade de receber 1.000 e-mails em uma hora, então você pede ao correio para colocar o correio no armário do correio. Assim você pode pegar e-mails em sua própria agenda, como você pode lidar. Da mesma forma, quando nosso programa de consumidor enfrenta solicitações multiusuário e de alta simultaneidade, o armazenamento de dados em filas de mensagens pode reduzir os dados de pico de tráfego e consumir dados de acordo com as capacidades e recursos que o programa pode manipular.
  • Processamento em lote de buffer: entrega em lote do produtor, legal! Os consumidores podem receber vários e-mails ao mesmo tempo, legal!

3. Desvantagens trazidas pela introdução de armários expressos

Tendo dito tantas vantagens, existem desvantagens nos armários expressos? Claro que existe

  1. Introduzir complexidade. Não há dúvida de que o armário expresso (fila de mensagens) é extra, e não existia no processo de cobrança original. Portanto, ele precisa de um lugar para colocá-lo, e também precisa ser à prova de fogo, antifurto e à prova de umidade, e precisa ser mantido. O middleware da fila de mensagens é o mesmo, você precisa instalá-lo na área do servidor e mantê-lo.

  2. Isso resultará em inconsistências de dados temporárias. Se não houver um armário de correio, quando você receber o correio, ele será realmente recebido. Mas depois de usar o armário expresso, você receberá a "mensagem de que a correspondência foi colocada no armário expresso", mas haverá um certo atraso entre quando você realmente receber o correio. Claro, você ainda receberá o correio eventualmente, e escolher o gabinete expresso "fila de mensagens" é suportar inconsistência temporária e aceitar "consistência eventual".

  3. É claro que, em casos extremos, o armário do correio está quebrado e você tem que aceitar o fato de que "o correio pode ser perdido", o que dificilmente acontece em uma comunidade com alto fator de segurança.

Acho que você gosta

Origin blog.csdn.net/hanxiaotongtong/article/details/124341666
Recomendado
Clasificación