|
From: Doug C. <cu...@ap...> - 2008-02-14 22:49:18
|
We might get starte by using threads and method calls instead of RPC. This should help us get our design straight before we invest in a "real" implementation. So we might: 1. Write a simple client API: addDoc(), removeDoc(), updateDoc(), query(). 2. Write a multi-threaded test program that uses this, simulating a large, active index. It randomly adds, removes and updates randomly created documents, and periodically queries and checks that results are correct. 3. Implement the "distributed" system using threads per node. 4. Randomly kill nodes during the simulation. We might even avoid using Lucene at this point, but simply use Java Collections for indexes. Documents would have a few fields with atomic values (no full text). Does this sound like a good strategy? I'm on the road tomorrow, but I can start proposing APIs early next week, and then maybe get some help coding the simulation. Once we have things working, then we can start replacing method calls with RPCs and putting Lucene or Solr underneath and see if it still holds up, incrementally moving towards a complete system, always with a test suite. Doug |