Hi Arun, This distinction has been a can of worms for me also - and I'm not sure my understanding is entirely correct.
I use GossipingPropertyFileSnitch for my multi-region setup, which seems to be more flexible than the Ec2 snitches. The Ec2 snitches should work also, but their behavior is more opaque from my perspective. AFAIK - if all of your nodes can reach each other via private IP, and your anticipated clients can reach all nodes via their private IP, then using the private IP address as the broadcast_address is fine. If there will ever be a situation where a client or node will need to reach some part of the cluster using public IPs, then public IPs should be used as the broadcast_address. A simple flow-chart / diagram of how these various settings are used by Cassandra would be very helpful for people new to the project. Regards, Asher On Tue, Mar 1, 2016 at 3:12 PM, Arun Sandu <arunsandu...@gmail.com> wrote: > Hi all, > > All our nodes are launched in AWS EC2 VPC (private). We have 2 > datacenters(1 us-east , 1- asiapacific) and all communication is through > private IP's and don't have any public IPs. What is the recommended snitch > to be used? We currently have GossipingPropertyFileSnitch. > > 1. If Ec2MultiRegionSnitch, then what would be the broadcast_address? > 2. If not Ec2MultiRegionSnitch, which snitch better fits this environment? > > *Ref:* > As per the document Ec2MultiRegionSnitch > <http://docs.datastax.com/en/cassandra/2.1/cassandra/architecture/architectureSnitchEC2MultiRegion_c.html>,set > the listen_address > <http://docs.datastax.com/en/cassandra/2.1/cassandra/configuration/configCassandra_yaml_r.html#reference_ds_qfg_n1r_1k__listen_address> > to the *private* IP address of the node, and the broadcast_address > <http://docs.datastax.com/en/cassandra/2.1/cassandra/configuration/configCassandra_yaml_r.html#reference_ds_qfg_n1r_1k__broadcast_address> > to the *public* IP address of the node. > > -- > Thanks > Arun >