Мы реализуем небольшую ферму (2 узла) Tomcat, установленную на двух срезах в Azure, и устанавливаем балансировку нагрузки Azure спереди. Это в основном круговой, нелипкий сеанс балансировки.Балансировка нагрузки Tomcat в Azure
веб-приложение использует контейнер для Tomcat управляемой системы безопасности (проверки подлинности форм, в настоящее время с помощью DataSourceRealm.
Когда пользователь получает круглодонную robin'ed к узлу они не аутентифицированым против, как мы ожидали, они получают ошибки аутентификации.
Я провел много исследований, и, похоже, не существует единого предписанного способа борьбы с этим ... Было высказано предположение, что мы помещаем узлы в сервер Apache и используем mod_jk; что мы перепроектируем процесс аутентификации для использования cookie для подтверждения аутентификации, и мы используем кластеризацию Tomcat.
Что было бы самым простым способом для достижения этого? Наше приложение не использует сеансы ни для чего (кроме CMS Tomcat). Мы бы предпочли не уходить из CMS Tomcat, хотя мы не склонны строить реализацию JAAS, если это необходимо. Но на самом деле единственное, что нам нужно для поддержки, - это аутентификация между узлами.
Любая помощь оценена!
EDIT: Мы попытались Memcached на Azure, получил следующее:
2013-07-08 21:50:55.463 INFO net.spy.memcached.MemcachedConnection: Connection state changed for [email protected]
2013-07-08 21:50:55.463 INFO net.spy.memcached.MemcachedConnection: Reconnecting due to failure to connect to {QA sa=srvr.cloud.com/1XX.1XX.1XX.1XX:11XXX, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0}
java.net.ConnectException: Connection timed out: no further information
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(Unknown Source)
at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:399)
at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:247)
at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:915)
Наша context.xml:
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:srvr.cloud.com:11XXX"
sticky="false"
sessionBackupAsync="false"
lockingMode="uriPattern:/path1|/path2"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.JavaSerializationTranscoderFactory"
/>
Возможный дубликат: http://stackoverflow.com/questions/4708057/tomcat-clustering-in-microsoft-azure –