Обновить

Как мы настраивали, тестировали и чинили кластер Keycloak на трех виртуальных машинах

Время на прочтение6 мин
Охват и читатели11K
Всего голосов 9: ↑9 и ↓0+10
Комментарии7

Комментарии 7

Давно работает по схожей схеме, только перед БД тоже стоит балансировщик.

А можете рассказать подробнее про кластерный healthcheck, просто я знаю только “KC_HEALTH_ENABLED=true”?

И infinispan в keycloak поднимается в embedded режиме в любом случае в последних версиях (то ли в 24-ом, то ли в 25-ом так сделали). Можно отдельно прицепить внешний кластер, но можно и без него.

В релизе 26.4 появился “Keycloak cluster health check”. Отдельно включать не нужно, но отображается, если keycloak в режиме кластера, вот issue Detect and handle KC split brain clusters · Issue #41561 · keycloak/keycloak, вот PR Detect and handle KC split brain clusters by pruivo · Pull Request #41730 · keycloak/keycloak

вроде бы свежий keycloak больше не нуждается в infinispan и хранит сессии прямо в базе

Сессии действительно хранятся в БД, но Infinispan остается обязательным: он кэширует эти же сессии и часть данных которые в БД не попадают, например authenticationSessions, loginFailures, actionTokens. Также через реплицируемый кэш work узлы рассылают друг другу инвалидацию локальных кэшей – realms, users, authorization, keys, crl, иначе после изменений на одном узле остальные продолжали бы отдавать устаревшие данные

Спасибо, познавательно, один нюанс :

N. B. the words master and slave are being deprecated. We will silently accept them, but primary and secondary are encouraged.

Т.е. параметр master в новых релизах jdbc уберут, рекомендуют использовать параметр primary.

спасибо, учтем дальше в работе!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации