¿Cómo ve RabbitMQ a todos los consumidores de una cola [Solución de problemas]

Versión:

spring-rabbit-1.6.10.RELEASE

spring-boot-autoconfigure-1.3.7.RELEASE

Al usar RabbitMQ, encontré un problema.Después de enviar un mensaje, descubrí que hay múltiples consumidores, y este consumidor no es el Oyente que escribí.

Para encontrar la IP y el puerto de este consumidor, necesito ver qué consumidores están actualmente en esta cola.

Acceda directamente a la interfaz de administración de RabbitMQ http://localhost:15672 y encuentre un problema que indica que algunos consumidores no se mostrarán aquí.

Y en muchos casos, la lista de consumidores está vacía, de la siguiente manera:

¿Cómo puedo ver la lista de consumidores actualmente registrados? Investigué la documentación de la API y encontré una manera eficiente.

Al acceder a la interfaz http://localhost:15672/api/consumers, puede registrar a todos los consumidores en el RabbitMQ actual.

{
  "arguments": {},
  "prefetch_count": 1,
  "ack_required": true,
  "exclusive": false,
  "consumer_tag": "amq.ctag-ggdoNEKhLKNpb3XoWNmyzhQ",
  "queue": {
    "name": "XXXX_XXXX_QUEUE",
    "vhost": "dev"
  },
  "channel_details": {
    "name": "127.0.0.1:26290 -> 1127.0.0.2:5672 (13)",
    "number": 13,
    "user": "guest",
    "connection_name": "127.0.0.1:26290 -> 1127.0.0.2:5672",
    "peer_port": 26290,
    "peer_host": "127.0.0.3"
  }
}

Tome los siguientes datos como ejemplo, peer_host y peer_port son la IP y el puerto del consumidor

Con la interfaz /api/consumers, puede consultar los siguientes datos sin procesar y puede ver la lista actual de todos los consumidores.

Los consumidores que no se muestran en la interfaz de administración http://localhost:15672, esta interfaz también regresará. Por lo tanto, es más confiable usar esta interfaz para la localización de problemas.

De esta forma, se identificó con éxito al consumidor no invitado y se resolvió el problema.

Además, el documento http://localhost:15672/api es la fuente de datos de la interfaz de administración de RabbitMQ. Son los datos más originales y son más completos y confiables.

Aunque la interfaz visual es conveniente, también hay algunos problemas. Por tanto, a la hora de usarlo, tenemos que elegir de forma selectiva.

También se puede acceder desde la línea de comando:

:: Windows
C:> curl -i -u guest:guest http://localhost:15672/api/vhosts

# Unix
$ curl -i -u guest:guest http://localhost:15672/api/vhosts

HTTP/1.1 200 OK
Server: MochiWeb/1.1 WebMachine/1.10.0 (never breaks eye contact)
Date: Mon, 16 Sep 2013 12:00:02 GMT
Content-Type: application/json
Content-Length: 30

[{"name":"/","tracing":false}]

Para obtener más información, visite la API HTTP de administración de RabbitMQ: http://localhost:15672/api

Supongo que te gusta

Origin blog.csdn.net/m0_54853503/article/details/124012638
Recomendado
Clasificación