prefácio
A fila de mensagens é um componente usado em vários cenários, como desacoplamento de serviço e envio de mensagens no trabalho. Os componentes de fila comumente usados são
- ActiveMQ
- CoelhoMQ
- FogueteMQ
- Kafka
Existem dois modos principais de fila de mensagens, 点对点模式
com发布/订阅模式
modo ponto a ponto
点对点模式
Ou seja, as mensagens deixadas na fila de mensagens só podem ser consumidas por um consumidor, ou seja, mensagens 只会被消费一次
. Vários produtores podem enviar mensagens para a mesma fila de mensagens. Quando os consumidores consumirem, eles bloquearão ou removerão as mensagens consumidas para permitir que outros consumidores não pode consumir.Se a mensagem não for processada pelo consumidor, ela será reproduzida na fila e aguardará o reconsumo.
modelo de publicação/assinatura
发布/订阅模式
Uma única mensagem pode ser processada por vários assinantes, e as assinaturas também são divididas 临时订阅
em持久订阅
临时订阅
: Na assinatura temporária, a assinatura será processada após o início do consumidor. Se o consumidor ficar offline, a mensagem assinada também será perdida
持久订阅
: a assinatura durável manterá a mensagem assinada mesmo após a saída do consumidor e poderá ser reprocessada posteriormente
seleção
Se for mais provável que seja a escolha no campo de big data Kafka
, a taxa de transferência de dados é muito superior a outras e ActiveMq
é Apache
lançada, mas a manutenção subsequente é cada vez menor, portanto, se for comumente usado em não big data campos, recomenda-se usar RabbitMQ
e RocketMQ
, especificamente A seleção depende das respectivas escolhas, e o teste de instalação é realizado RocketMQ
a partir .
Instalar
Sistema operacional: Centos 7.6
Dependências necessárias: JDK1.8
Site oficial do RocketMQ: RocketMQ
RocketMQ
Você precisa depender do ambiente Java
, então precisa instalar JAVA
o ambiente. Se precisar instalá-lo, JDK1.8
você pode ler este artigo: Instale o JDK1.8
Baixe o pacote de instalação do RocketMQ:
wget https://archive.apache.org/dist/rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip
Descompacte o pacote de instalação
unzip rocketmq-all-4.7.1-bin-release.zip
Mover diretório:
mv rocketmq-all-4.7.1-bin-release /usr/local/rocketmq-4.7.1
Modifique o arquivo de configuração:
vim /usr/local/rocketmq-4.7.1/conf/broker.conf
Adicione as seguintes linhas de configuração na parte inferior da configuração
BrokerIP1 é escrito como seu próprio endereço de rede pública
enablePropertyFilter=true
namesrvAddr=127.0.0.1:9876
brokerIP1=xxx.xxx.xxx.xxx
comece
Comando de início:
nohup /usr/local/rocketmq-4.7.1/bin/mqnamesrv & nohup /usr/local/rocketmq-4.7.1/bin/mqbroker -c /usr/local/rocketmq-4.7.1/conf/broker.conf &
Verifique o processo mq após a inicialização ser bem-sucedida
ps -ef|grep rocketmq
Comece com sucesso conforme mostrado na figura abaixo