Posté ici à partir de ma réponse sur StackOverflow à cette même question
Dans l'article d'Adam Cameron que vous avez inclus, il mentionne qu'il a des problèmes avec la réplication de session. Problème de réplication de session avec le clustering CF10 . L'essentiel ici est qu'un un bogue a été introduit pour ColdFusion 10 (3361502) ne pas avoir la possibilité d'activer la réplication de session dans l'administrateur. Ce bogue a depuis été corrigé. Utilisez-vous la version mise à jour ?
Dans l'un des commentaires sur ce bogue, quelqu'un d'Adobe mentionne ceci :
Lorsque la session collante est activée, la session n'est pas répliquée et lorsque la session collante est désactivée, la session est automatiquement répliquée.
Il semblerait donc que dans ColdFusion 10, lorsque vous désactivez les sessions collantes, cela devrait permettre la réplication des sessions. Vous devez également activer les variables de session J2EE.
La réplication des sessions présente également certaines limites. De la documents ici :
La réplication de la session garantit également que les variables d'étendue de la session sont répliquées dans le cluster. Toutefois, la réplication de session ne prend pas en charge la réplication des tableaux dans les CFC ou les variables de la portée de la session. .
Après une brève discussion, j'ai renvoyé l'OP à cet article. Travailler avec Tomcat comme serveur d'application intégré qui explique plus en détail comment travailler avec des clusters dans ColdFusion 10. La section concernant la gestion des clusters, intitulée "Adding remote instance to the cluster", est particulièrement intéressante. Elle mentionne certains ajouts qui doivent être faits au fichier server.xml de chaque instance distante.
Suivez les étapes suivantes pour ajouter une instance distante à un cluster :
- Enregistrer l'instance distante sur la machine locale.
- Créer un cluster dans la machine locale.
- Ouvrez le répertoire cf_install_dir \instance -name \runtime\conf\server.xml de l'instance distante.
- Ajoutez le bloc suivant entre les entrées
</host>
y </engine>
:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
<Manager notifyListenersOnReplication="true" expireSessionsOnShutdown="false" className="org.apache.catalina.ha.session.DeltaManager">
</Manager>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership port="45565" dropTime="3000" address="228.0.0.4" className="org.apache.catalina.tribes.membership.McastService" frequency="500">
</Membership>
<Receiver port="4003" autoBind="100" address="auto" selectorTimeout="5000" maxThreads="6" className="org.apache.catalina.tribes.transport.nio.NioReceiver">
</Receiver>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender">
</Transport>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector">
</Interceptor>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor">
</Interceptor>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter="">
</Valve>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve">
</Valve>
<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener">
</ClusterListener>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener”>
</ClusterListener>
</Cluster>
5 . Dans l'entrée ci-dessus, mettez à jour le port d'adhésion avec le port de multidiffusion du cluster.
6 . En utilisant l'administrateur ColdFusion de l'hôte local, ajoutez l'instance locale et l'instance distante au cluster.
Note : Si vous activez les sessions collantes, la route JVM de l'instance distante et de l'instance locale ne doit pas être la même.
7 . Redémarrez toutes les instances.