On 4/4/2016 3:46 PM, Robert Brown wrote: > I have 2 shards, 1 replica in each. > > The issue is the external processing job(s) I have to convert external > data into JSON, and then upload it via cURL. > > Will one Solr server only accept one update at a time and have any > others queued? (And possibly timeout). > > I like the idea of having my leaders only deal with indexing, and the > replicas only deal with searching - how can I actually configure > this? And is it actually required with my shard setup? > > I'm doing hard commits every minute but not opening a new searcher (so > I know the data is safe), with soft commits happening every 10 minutes > to make the data visible.
You can have exactly the paradigm you outlined with the old master-slave replication -- one master server indexing, and a separate load balancer dividing traffic among your slave servers. The problem with this paradigm is that you have a single point of failure -- the master server. Reconfiguring the machines to choose a new master is possible, but not automatic, and not exactly trivial. The terminology you used (shards and replicas) suggests that you're running SolrCloud -- which handles this *very* differently. In SolrCloud, every replica indexes the data independently, and every replica handles queries. There is no single point of failure, and if you use a cloud-aware client (there are only two of these, and one of them is the Java client included with Solr), you don't even need a load balancer. Thanks, Shawn