DISTRIBUTED SYSTEM FOR APPLICATION PROCESSING
A system that includes multiple nodes is disclosed. A first node in the system has a first local storage and a first portion of a distributed index. A second node in the system has a second local storage and a second portion of the distributed index. A third node in the system has a third local storage and a third portion of the distributed index. Each of the first, second, and third nodes includes application logic. If any one of the nodes is removed from the system, neither application nor data availability is impacted.
1 . A system, comprising:
a processor configured to:
determine that a first portion of a distributed index stored on the system exceeds a fair share of the distributed index; and
request another system to move a boundary of a second portion of the distributed index stored on the other system to decrease a size of the first portion of the distributed index; and
a memory coupled to the processor and configured to provide the processor with instructions.
2 . The system recited in claim 1 , wherein the processor is further configured to include application logic.
3 . The system recited in claim 2 , wherein the application logic includes a profile indicating an expected usage pattern.
4 . The system recited in claim 1 , wherein the processor is further configured to receive an operation to write a data and to determine whether to store the data locally or at a different system.
5 . The system recited in claim 1 , wherein the processor is further configured to forward a received request to a different system in response to a determination that the system cannot handle more requests.
6 . A method, comprising:
storing at a system a first portion of a distributed index;
determining that the first portion of the distributed index stored on the system exceeds a fair share of the distributed index; and
requesting another system to move a boundary of a second portion of the distributed index stored on the other system to decrease a size of the first portion of the distributed index.
7 . The method recited in claim 6 , further comprising:
receiving an operation to write a data; and
determining whether to store the data locally or at a different system.
8 . The method recited in claim 6 , further comprising:
forwarding a received request to a different system in response to determining that the system cannot handle more requests.
9 . An apparatus, comprising:
means for storing at a system a first portion of a distributed index;
means for determining that the first portion of the distributed index stored on the system exceeds a fair share of the distributed index; and
means for requesting another system to move a boundary of a second portion of the distributed index stored on the other system to decrease a size of the first portion of the distributed index.
10 . The apparatus recited in claim 9 , further comprising:
means for receiving an operation to write a data; and
means for determining whether to store the data locally or at a different system.
11 . The apparatus recited in claim 9 , further comprising:
means for forwarding a received request to a different system in response to determining that the system cannot handle more requests.
12 . A non-transitory computer-readable medium storing computer-executable instructions configured to cause a processor to:
store at a system a first portion of a distributed index;
determine that the first portion of the distributed index stored on the system exceeds a fair share of the distributed index; and
request another system to move a boundary of a second portion of the distributed index stored on the other system to decrease a size of the first portion of the distributed index.
13 . The non-transitory computer-readable medium recited in claim 12 , the computer-executable instructions further configured to cause the processor to:
receive an operation to write a data; and
determine whether to store the data locally or at a different system.
14 . The non-transitory computer-readable medium recited in claim 12 , the computer-executable instructions further configured to cause the processor to:
forward a received request to a different system in response to determining that the system cannot handle more requests.