[javagroups-users] Using JGroups on EC2 autoscaling group
Brought to you by:
belaban
From: <Mal...@co...> - 2011-01-27 10:01:31
|
On an EC-2 autoscaled service environment all instances, potentially, come and go. There's no fixed abode for services such as message brokers or Gossip servers. I've been looking at JGroups for EclipseLink cache coordination in this environment. The RDS is the one fixed point so the JDBC_PING system seems ideal. The RDS will, in production. be HA, and none of our apps will work without it anyway. Of course there's no existing code in EclipseLink for using JGroups as it's transport, but I don't think it will be hard to write one. Of course I could use S3_PING, but there's an issue in testing this on our local system because of firewall/proxy settings. I arrived at a configuration of JGroups 1.12.0 which works fine on a single machine, but when I run it on two instances on EC-2 the two instances seem oblivious to one another. I'm not seeing any error messages which I'd expect to be generated by one instance trying to make contact with instances on the other machine if it were, say a firewall issue. I'm testing this configuration using the Draw demo and running on Windows instances, because all the demos seem to be GUI and unix instances don't come with X-Windows. I've tried this with both UDP and TCP, with and without DAISYCHAIN. With S3_PING and JDBC_PING. I've been going through the source code trying to understand the discovery behaviour. The database/S3 content is as I'd expect. Is there a lurking assumption that a central gossip server at a known location is required? If so it would be simpler for me to use a message broker. The possibility of a peer-to-peer discovery system is central to my interest in JGroups. Or am I missing something obvious, like a security settings issue? Here's my configuration (much of it copied from documentation). <?xml version="1.0" encoding="UTF-8"?> <config> <TCP id="101" bind_addr="SITE_LOCAL" bind_port="7200" discard_incompatible_packets="true" max_bundle_size="60000" max_bundle_timeout="30" enable_bundling="true" thread_pool.enabled="true" thread_pool.min_threads="1" thread_pool.max_threads="25" thread_pool.keep_alive_time="5000" thread_pool.queue_enabled="false" thread_pool.queue_max_size="100" thread_pool.rejection_policy="Run" oob_thread_pool.enabled="true" oob_thread_pool.min_threads="1" oob_thread_pool.max_threads="8" oob_thread_pool.keep_alive_time="5000" oob_thread_pool.queue_enabled="false" oob_thread_pool.queue_max_size="100" oob_thread_pool.rejection_policy="Run"/> <JDBC_PING id="102" connection_driver="com.mysql.jdbc.Driver" connection_username="sysaws" connection_password="sysaws" connection_url="jdbc:mysql://ccaws.cfpw8y8ejgxf.us-west-1.rds.amazonaws.com:3306/aws" initialize_sql="" level="debug" /> <TRACE name="98"/> <MERGE2 id="103" max_interval="30000" min_interval="10000"/> <FD_SIMPLE id="104"/> <FD id="105" timeout="10000" max_tries="5" /> <VERIFY_SUSPECT timeout="1500" /> <BARRIER /> <pbcast.NAKACK use_mcast_xmit="false" gc_lag="0" retransmit_timeout="300,600,1200,2400,4800" discard_delivered_msgs="true"/> <UNICAST timeout="300,600,1200,2400,3600"/> <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000" max_bytes="400000"/> <VIEW_SYNC avg_send_interval="60000" /> <pbcast.GMS print_local_addr="true" join_timeout="3000" level="debug" view_bundling="true"/> <FC max_credits="20000000" min_threshold="0.10"/> <FRAG2 frag_size="50000" /> <pbcast.STATE_TRANSFER /> </config> This E-mail may contain confidential and/or privileged information. It is only intended for the use of the Addressee. If you are not the addressee, the disclosure, copying or delivering of this to any one else is strictly prohibited and may be unlawful. If you have received this E-mail in error, please delete immediately. The views expressed within this E-mail do not necessarily reflect the views of Costcutter Supermarkets Group Limited.Registered Office: Costcutter Supermarkets Group Limited. Reg. No. 2059678. All companies registered in England Address: Harvest Mills, Dunnington, York, YO19 5RY. VAT Registration Number : 847206620. |