RabbitMq: Нужна помощь в настройке плагина кэша аутентификации «rabbit_auth_backend_cache»

RabbitMq: Нужна помощь в настройке плагина кэша аутентификации «rabbit_auth_backend_cache»

Я пытаюсь запустить новый сервер RabbitMq (версия 3.7.23, версия Erlang 22.2.3) и мне удалось заставить работать аутентификацию LDAP. К сожалению, похоже, что аутентификация довольно медленная, поэтому мои инструменты мониторинга время от времени сообщают об ошибках при проверке конечной точки активности, а пользовательский интерфейс иногда показывает красную ошибку «не удалось подключиться к серверу» при навигации по приложению, которая в конечном итоге исчезает.

При исследовании моей проблемы, похоже, rabbit_auth_backend_cacheплагин должен помочь с этим. Я реализовал кэш, но он, похоже, не работает. Журнал Rabbit по-прежнему показывает, что Rabbitmq пытается подключиться к LDAP для каждого запроса, и я не вижу никаких ошибок, которые могли бы объяснить, что происходит с кэшем.

Вот моя конфигурация:

[
  {kernel, [

  ]},
  {rabbitmq_management, [
    {listener, [
                {port, 15672}
    ]}
  ]},
  {rabbit, [
    {auth_backends, [rabbit_auth_backend_cache,rabbit_auth_backend_ldap]},
    {cluster_partition_handling,autoheal},

{tcp_listeners, [5672]},

    {tcp_listen_options, [binary,
                          {packet, raw},
                          {reuseaddr, true},
                          {backlog, 128},
                          {nodelay, true},
                          {exit_on_close, false},
                          {keepalive, false},
                          {linger, {true,0}}]},

    {log_levels, [{ connection, info }]},
    {disk_free_limit, {mem_relative, 1.5}},
    {vm_memory_high_watermark, 0.66},

    {default_user, <<"guest">>},
    {default_pass, <<"guest">>},
    {heartbeat, 60}
  ]}
    ,{rabbitmq_auth_backend_ldap, [
...omitted because it contains sensitive data...
] }}
    ]}
        ,{rabbitmq_auth_backend_cache, [{cached_backend, rabbit_auth_backend_ldap}, {cache_ttl, 5000}]}
        ,{rabbit_auth_backend_ldap, []}
].

Вот что я вижу в журнале:
во время запуска:

2020-08-21 15:37:52.239 [info] <0.8.0> Server startup complete; 10 plugins started.
 * rabbitmq_auth_backend_ldap
 * rabbitmq_shovel_management
 * rabbitmq_shovel
 * rabbitmq_federation_management
 * rabbitmq_top
 * rabbitmq_management
 * rabbitmq_web_dispatch
 * rabbitmq_management_agent
 * rabbitmq_federation
 * rabbitmq_auth_backend_cache

при выключении

2020-08-21 15:37:44.095 [info] <0.43.0> Application cowboy exited with reason: stopped
2020-08-21 15:37:44.095 [info] <0.11984.0> Stopping application 'cowlib'
2020-08-21 15:37:44.095 [info] <0.43.0> Application cowlib exited with reason: stopped
2020-08-21 15:37:44.095 [info] <0.11984.0> Stopping application 'rabbitmq_auth_backend_ldap'
2020-08-21 15:37:44.096 [info] <0.43.0> Application rabbitmq_auth_backend_ldap exited with reason: stopped
2020-08-21 15:37:44.096 [info] <0.11984.0> Stopping application 'rabbitmq_management_agent'
2020-08-21 15:37:44.098 [info] <0.43.0> Application rabbitmq_management_agent exited with reason: stopped
2020-08-21 15:37:44.098 [info] <0.11984.0> Stopping application 'rabbitmq_auth_backend_cache'
2020-08-21 15:37:44.099 [info] <0.43.0> Application rabbitmq_auth_backend_cache exited with reason: stopped
2020-08-21 15:37:44.099 [info] <0.11984.0> Stopping application 'rabbit'

Спасибо,
Алекс.

решение1

@Alexander Brehm как вы пришли к выводу, что кэш не работает? Если у вас иногда возникают проблемы с подключением, это может быть из-за множества других факторов?

Ваш сервер ldap — это vip или single server? Вы пробовали увеличить cache_ttl. Ваше приложение http, вы пробовали использовать http backend для ldap?

Связанный контент