RocketMQ instala e integra las funciones básicas de springboot en el entorno de Windows
Tabla de contenido
1. Descarga e instalación de RocketMQ
1.1 Dirección de descarga: http://rocketmq.apache.org/release_notes/release-notes-4.3.0/
1.2: Configurar las variables del sistema de rocketmq
2. Instalación e implementación del complemento de administración de escritorio RocketMQ
2.1 Dirección de descarga: https://github.com/apache/rocketmq-externals.git
2.2 Implementar el complemento
Tres. Springboot integra las funciones básicas de RocketMQ
3.1 Cree un proyecto springboot y agregue la dependencia pom de rocketmq
1. Descarga e instalación de RocketMQ
RocketMQ es el middleware de mensajería de código abierto de Alibaba: rocketmq es relativamente simple de descargar e instalar, solo descargue y descomprima.
El rocketmq descargado en este artículo es la versión 4.3, la última versión ha llegado a 4.7, puede elegir su propia versión según sus necesidades
1.1 Dirección de descarga : http://rocketmq.apache.org/release_notes/release-notes-4.3.0/
1.2: Configurar las variables del sistema de rocketmq
Nombre de variable: ROCKETMQ_HOME
Valor de la variable: ruta de descompresión MQ \ nombre de la carpeta MQ (para evitar anomalías, descomprímalo en la ruta en inglés)
1.3: Inicio
Primero ingrese al directorio bin de Rocket, cmd ingresa al modo de línea de comando:
1.3.1: Iniciar NAMESERVER: ingrese el comando " iniciar mqnamesrv.cmd ", la siguiente pantalla aparecerá después de un inicio exitoso, no cierre el cuadro de diálogo;
1.3.2: Iniciar BROKER: continúe ingresando el comando " iniciar mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable = true " en el cuadro de comando cmd anterior , aparecerá el siguiente cuadro de diálogo, no cierre el cuadro de diálogo
2. Instalación e implementación del complemento de administración de escritorio RocketMQ
2.1 Dirección de descarga: https://github.com/apache/rocketmq-externals.git
Use github para clonar el proyecto en la dirección;
Premisa de implementación: entorno java, el entorno maven debe estar disponible
2.2 Implementar el complemento
2.2.1: Ingrese a la carpeta 'rocketmq-externals \ rocketmq-console \ src \ main \ resources' y modifique el archivo de configuración de inicio application.properties;
Inicie el número de puerto del complemento: server.port = 8089 , esto se puede configurar de forma aleatoria, siempre que no haya conflicto con el puerto del servicio existente en el entorno de Windows
La dirección de conexión de rocketmq : rocketmq.config.namesrvAddr = 127.0.0.1: 9876
2.2.2: Compile e inicie el proyecto: ingrese a la carpeta '\ rocketmq-externals \ rocketmq-console', ejecute ' mvn clean package -Dmaven.test.skip = true' para compilar y generar un paquete jar;
Después de una compilación exitosa, Cmd ingresa a la carpeta 'objetivo', ejecuta 'java -jar rocketmq-console-ng-1.0.0.jar' e inicia " rocketmq-console-ng-1.0.0.jar "
Después de una instalación e implementación exitosa, visite: localhost: 8089, verá la siguiente interfaz
Tres. Springboot integra las funciones básicas de RocketMQ
3.1 Cree un proyecto springboot y agregue la dependencia pom de rocketmq
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
3.2 configurar el archivo yml
rocketmq:
name-server: 127.0.0.1:9876
producer:
group: my-producer-group
3.3 Crear productor Productor
package com.demo.rocketmq.simpleTest;
import io.swagger.annotations.Api;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api
@RequestMapping("/test")
@RestController
public class Producer {
@Autowired
private RocketMQTemplate rocketMQTemplate;
@GetMapping("send")
public void send(){
rocketMQTemplate.convertAndSend("test-topic","你好,Java旅途");
}
}
3.4 Crear consumidor
package com.demo.rocketmq.simpleTest;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;
@Slf4j
@Component
@RocketMQMessageListener(topic = "test-topic",consumerGroup = "my-consumer-group")
public class Consumer implements RocketMQListener<String> {
@Override
public void onMessage(String message) {
log.info("我收到消息了!消息内容为:"+message);
}
}
3.5 Inicio del proyecto
3.5.1: Debe configurar el tema antes del inicio: puede agregarlo en la página de la consola de administración
3.5.2: Dirección de visita: http: /127.0.0.1/test/send, puede ver el registro generado por la consola del proyecto.
3.6: Prueba
Use jemeter para probar el efecto: Por supuesto, también puede usar cartero para probar: Estoy acostumbrado a probar lo que sucederá con una alta concurrencia;
Configure el número de subprocesos:
Configurar URL:
Verifique el consumo de rendimiento de la computadora: como se puede ver en la figura siguiente, la utilización de la CPU ha alcanzado el 100%, la memoria ha llegado a 12G y dura mucho tiempo. Ha estado procesando la solicitud y ser procesado después de un tiempo.
Los anteriores son los pasos de integración simples de la instalación y la implementación de rocketmq. Este es solo el paso de integración más simple. El uso real es mucho más que esto. Los estudiantes interesados pueden aprender sobre el método de empaquetado de RocketMQ.
Los blogueros de seguimiento también complementarán el uso de paquetes relacionados de RocketMQ, y todos aprenderán y progresarán juntos.