Construcción de entorno de análisis de código fuente de RocketMQ

Dependencia ambiental

  • JDK: 1.8+
  • Maven
  • IntelliJ IDEA

Extracción de código fuente

Desde el repositorio oficial https://github.com/apache/rocketmq clone o el downloadcódigo fuente.
Inserte la descripción de la imagen aquí

Estructura del directorio de origen:

  • broker: módulo de broker (proceso de inicio roto)

  • cliente: cliente de mensajes, incluidas las clases relacionadas con el productor de mensajes y el consumidor de mensajes

  • común: paquete público

  • dev: información del desarrollador (código no fuente)

  • distribución: carpeta de instancia de implementación (código no fuente)

  • ejemplo: código de ejemplo de RocketMQ

  • filtro: clases básicas relacionadas con el filtrado de mensajes

  • filterrv: clases relacionadas con la implementación del servidor de filtrado de mensajes (proceso de inicio del filtro)

  • logappender: clases relacionadas con la implementación del registro

  • namesrv: clases relacionadas con la implementación de NameServer (proceso de inicio de NameServer)

  • openmessageing: estándar de mensaje abierto

  • Remoting: módulo de comunicación remota, entregado a Netty

  • srcutil: clase de herramienta de servicio

  • store: clases relacionadas con la implementación del almacenamiento de mensajes

  • estilo: implementación relacionada con estilo de verificación

  • prueba: prueba clases relacionadas

  • herramientas: herramientas, clases de implementación relacionadas con el comando de monitoreo

Inserte la descripción de la imagen aquí

Instalar localmente

Seleccione el directorio raíz del proyecto
Inserte la descripción de la imagen aquí

clean install -Dmaven.test.skip=true

Iniciar NameServer

Inserte la descripción de la imagen aquí
Fallará aquí, y la siguiente figura aparecerá después de comenzar directamente. El valor de
Inserte la descripción de la imagen aquí
configuración de la opción ROCKETMQ_HOME
Inserte la descripción de la imagen aquí
ROCKETMQ_HOME es el directorio del proyecto actual

Reinicie la
consola e imprima el siguiente resultado para indicar el éxito.

The Name Server boot success. serializeType=JSON

Iniciar Broker

Cree un nuevo directorio conf en el directorio raíz del proyecto. Copie los tres archivos en el directorio conf del proyecto de distribución para
Inserte la descripción de la imagen aquí
crear un directorio de almacenamiento de mensajes
Inserte la descripción de la imagen aquí

Modificar el broker.confarchivo de configuración

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
# namesrvAddr地址
namesrvAddr=127.0.0.1:9876
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
autoCreateTopicEnable=true

# 存储路径
storePathRootDir=E:\\RocketMQ\\data\\rocketmq\\dataDir
# commitLog路径
storePathCommitLog=E:\\RocketMQ\\data\\rocketmq\\dataDir\\commitlog
# 消息队列存储路径
storePathConsumeQueue=E:\\RocketMQ\\data\\rocketmq\\dataDir\\consumequeue
# 消息索引存储路径
storePathIndex=E:\\RocketMQ\\data\\rocketmq\\dataDir\\index
# checkpoint文件路径
storeCheckpoint=E:\\RocketMQ\\data\\rocketmq\\dataDir\\checkpoint
# abort文件存储路径
abortFile=E:\\RocketMQ\\data\\rocketmq\\dataDir\\abort

Iniciar BrokerStartup, configurar broker.confe ROCKETMQ_HOME
Inserte la descripción de la imagen aquí
iniciar el servicio
Inserte la descripción de la imagen aquí

enviar mensajes

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Noticias del consumidor

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/CSDN877425287/article/details/112791214
Recomendado
Clasificación