/ / Запобігти тайм-ауту сеансу вузла з Jetty 8 та повторювати сеанси через MongoDB - nosql, jetty, session-timeout, replication сеансу

Запобігання тайм-ауту сеансу вузла з Jetty 8 та тиражування сеансів за допомогою MongoDB - nosql, jetty, session-timeout, replication сеансу

Я використовую Jetty 8 і в даний час є дваекземпляри, встановлені та запущені за круглим балансувальником навантаження. Я налаштував це використання реплікації сеансу через MongoDB. Він прекрасно працює за двома винятками. Я буду включати один тут, а інший - в інше питання.

  1. Це можливо для сеансу на одному звузли повинні зберігатися в живих, поки той самий сеанс на іншому вузлі закінчується. Як тільки ви потрапите на вузол, що вийшов із часу, поведінка така, як якщо закінчився сеанс, навіть якщо він є активністю від користувача на іншому вузлі.

Хто-небудь має будь-які пропозиції? Я збираюся почати копати в реалізації jetty-nosql, але хотів би, щоб хтось міг рятувати мене деякий час.

Відповіді:

0 для відповіді № 1

Виявляється, поведінка, про яку йдеться вище, обумовленадо помилки в диспетчері nosqlSession. Це не оновлює останній доступний час при читанні сеансу з бази даних. Таким чином, якщо вузол не доступний протягом періоду очікування сеансу, це призведе до втрати сеансу, незалежно від того, чи був доступ до іншого вузла. Я подав цей звіт про помилку: https://bugs.eclipse.org/bugs/show_bug.cgi?id=397193

Ми виправили його шляхом внесення власних змін дофайли, зазначені в помилку, так що час доступу до сеансу було оновлено за час доступу, що зберігається в базі даних, коли сеанс було оновлено з бази даних.