Hi,
I never used Beanstalk, but the Infinispan Lucene Directory was developed mainly around EC2 requirements; it has been my development testbed.
to read what it is:
http://community.jboss.org/wiki/InfinispanAsADirectoryForLuceneWe made the integration with Hibernate Search (it's really just a couple of binding classes):
http://docs.jboss.org/hibernate/stable/search/reference/en-US/html_single/#infinispan-directoriesAs Infinispan is "in memory", you can either use a CacheLoader to have a write-through asynchronous copy of it's content, or in case you loose all nodes you can just reindex. I'd suggest to configure Infinispan either to use S3 as a storage option, or to use the JDBCCacheStore to replicate the index in the same database you use for Hibernate entities.
On the Infinispan forums I once pasted a complete cacheloader configuration tuned for MySQL.
Infinispan is based on JGroups, which usually uses multicast to autodiscover peer nodes; on Amazon multicast is blocked you you need to configure an alternative discovery protocol: having a database already makes it easy via JDBC_PING:
http://community.jboss.org/wiki/JDBCPINGhttp://www.jgroups.org/javadoc/org/jgro ... _PING.htmlfinally, having a database behind an ssh tunnel might make your application slow (and expensive as you pay for the outbound traffic), so I'd suggest to reuse Infinispan as Hibernate second level cache; this comes almost for free as you're configuring Infinispan anyway, so it would be nice to reuse it for this purpose.