Keycloak в production: HA, БД, бэкапы, обновления
Заключительная статья серии — та самая ops-цена готового IdP в деталях, на отдельном production-стенде (docker-compose.prod.yml, Keycloak 26.7.0). Почему start-dev нельзя в прод и что требует production start; оптимизированный образ через kc.sh build + start –optimized; внешний PostgreSQL как единственный стейт (данные realm + таблица JDBC_PING); HA из двух реплик за nginx-LB — Infinispan-кластер с discovery через JDBC_PING (реальный лог 2-member ISPN view, mTLS JGroups) и распределённой сессией (login на реплике-1 → refresh + userinfo на реплике-2 = HTTP 200); TLS-offload против re-encrypt (реальная тонкость с alert 47); наблюдаемость — /metrics на management-порту 9000 (реальный срез: jvm heap, vendor_statistics кэшей сессий, http_server_requests), тонкость KC_HTTP_MANAGEMENT_SCHEME=http; тюнинг пула БД/кэшей/JVM; обновления мажоров (пиновка, migration notes, тест realm-экспорта, blue-green); бэкапы и DR (единственный стейт — БД + realm-as-code).