¿Qué puedo hacer si un consumidor no puede recuperar mensajes de un tema debido a permisos insuficientes?
Symptom: Los diferentes consumidores de un grupo de consumidores tienen diferentes permisos de tema. Cuando un consumidor intenta recuperar mensajes de un tema, se muestra el mensaje de error "Not authorized to access topics." y la recuperación del mensaje falla.
Analysis: Al asignar particiones, el líder del grupo de consumidores no tiene en cuenta los permisos de los consumidores individuales. En su lugar, el líder asigna particiones basadas en la suscripción general del grupo de consumidores. En este caso, a los consumidores se les pueden asignar temas a los que no tienen acceso.
Por ejemplo, los consumidores A, B y C están en el mismo grupo de consumidores. El consumidor A se ha suscrito y tiene permisos para acceder a los Temas 0, 1 y 2; el consumidor B se ha suscrito y tiene permisos para acceder a los Temas 3, 4 y 5; el consumidor C se ha suscrito y tiene permisos para acceder a los Temas 6, 7 y 8. Se supone que cada tema tiene una sola partición. Basándose en la asignación de partición determinada por el líder, al consumidor A se le pueden asignar los Temas 0, 3 y 6; al consumidor B se le asignan los Temas 1, 4 y 7, y al consumidor C se le asignan los Temas 2, 5 y 8. En este caso, el consumidor A no tiene permisos para acceder a los Temas 3 y 6, lo que provoca el error.
Solución:
- Si todos los consumidores deben estar en el mismo grupo de consumidores (el group.id es el mismo), conceda los mismos permisos de acceso al tema a todos los consumidores.
- Si los consumidores no necesitan estar en el mismo grupo de consumidores, cambie el valor de group.id para asegurarse de que cada consumidor está en un grupo de consumidores separado.