DATA SERVER WITH TRANSIT CONTAINERS FOR RESOURCE MOVEMENTS
A server may include a plurality of services, where in response to receiving a first API call, a service generates a transit container in memory that is associated with a transit group ID. In response to receiving a second API call with the transit group ID, the service moves the resource to the transit container. When the resource is deemed to be properly received, the state of the transit container is set to a resource held state. The first service is configured to access the resource of the transit container in the resource held state in response to one or more additional API calls that comprise the transit group ID. The first service releases the transit container for garbage collection when a condition of the transit container is satisfied.
1 . A server computing system, comprising a plurality of services, wherein a first service of the plurality of services is configured to perform operations comprising:
in response to receiving a first API call, generating a transit container in memory that is associated with a transit group ID;
in response to receiving a second API call associated with the transit group ID to move a resource into the transit container, moving the resource to the transit container;
in response to the resource being deemed to be received by the first service, transitioning the state of the transit container to a resource held state, wherein the first service is configured to access the resource of the transit container in the resource held state in response to one or more additional API calls that comprise the transit group ID; and
releasing the transit container for garbage collection in response to when a condition of the transit container is satisfied.
2 . The server computing system of claim 1 , further comprising: in response to receiving a third API call associated with the transit group ID when the transit container has the resource held state, moving an amount of the resource from the resource held state of the transit container and into a destination specified by the third API call.
3 . The server computing system of claim 2 , further comprising: in response to receiving the third API call when the transit container is in an inbound pending state or an inbound held state, rejecting the third API call.
4 . The server computing system of claim 1 , wherein the second API call moves the resource into the transit container from a resource state of the transit container.
5 . The server computing system of claim 1 , wherein one of the plurality of services receives an external request from an external client over a computer network to move the resource to one or more destinations, and the first API call is transmitted to the first service in response to the external request.
6 . The server computing system of claim 5 , further comprising: in response to receiving a third API call from one of the plurality of services to move additional resources to the transit container, moving, by the first service, the additional resources to the transit container with the state of the transit container being the resource held state.
7 . The server computing system of claim 6 , further comprising: in response to receiving a fourth API call from one of the plurality of services, transferring the resource of the transit container with the state of the transit container being the resource held state to a final one of the one or more destinations.
8 . The server computing system of claim 1 , further comprising:
in response to receiving a third API call with the transit group ID from one of the plurality of services, moving a portion of the resource from the transit container under an inbound pending held state to the transit container under the resource held state;
in response to receiving a fourth API call with the transit group ID from one of the plurality of services, moving a first specified portion of the resource from the transit container under the resource held state to a specified second container; and
in response to receiving a fifth API call with the transit group ID from one of the plurality of services, moving a second specified portion of the resource to a specified third container.
9 . The server computing system of claim 1 , further comprising:
generating, with one of the plurality of services, a user facing container;
mapping an inbound pending state of the user facing container to aggregated resources associated with inbound pending state; and
transmitting, to another service or to a client, the inbound pending state of the user facing container.
10 . A method, performed by a first service of a plurality of services of a computing system, the method comprising:
in response to receiving a first API call, generating a transit container in memory that is associated with a transit group ID;
in response to receiving a second API call with the transit group ID to move a resource into the transit container, moving the resource to the transit container;
transitioning the state of the transit container to a resource held state, in response to the resource being deemed to be received by the first service, wherein the first service is configured to access the resource of the transit container in the resource held state in response to one or more additional API calls that comprise the transit group ID; and
releasing the transit container for garbage collection in response to when a condition of the transit container is satisfied.
11 . The method of claim 10 , further comprising: in response to receiving a third API call comprising the transit group ID when the transit container has the resource held state, moving an amount of the resource from the resource held state of the transit container and into a destination specified by the third API call.
12 . The method of claim 11 , wherein in response to receiving the third API call when the transit container is in an inbound pending state or the inbound pending held state, the first service rejects the third API call.
13 . The method of claim 10 , wherein the second API call moves the resource into the transit container from a resource state of the transit container.
14 . The method of claim 10 , wherein one of the plurality of services receives an external request from an external client over a computer network to move the resource to one or more destinations, and the first API call is transmitted to the first service in response to the external request.
15 . The method of claim 14 , further comprising: in response to receiving a third API call from one of the plurality of services to move additional resources to the transit container, moving, by the first service, the additional resources to the transit container with the state of the transit container being the resource held state.
16 . A non-transitory computer readable storage medium storing instructions, which when executed by a first service of a plurality of services of a server computing system, causes the first service to perform operations comprising:
in response to receiving a first API call, generating a transit container in memory that is associated with a transit group ID;
in response to receiving a second API call with the transit group ID to move a resource into the transit container, moving the resource to the transit container;
transitioning the state of the transit container to a resource held state, in response to the resource being deemed to be received by the first service, wherein the first service is configured to access the resource of the transit container in the resource held state in response to one or more additional API calls that comprise the transit group ID; and
releasing the transit container for garbage collection in response to when a condition of the transit container is satisfied.
17 . The non-transitory computer readable storage medium of claim 16 , further comprising: in response to receiving a third API call comprising the transit group ID when the transit container has the resource held state, moving an amount of the resource from the resource held state of the transit container and into a destination specified by the third API call.
18 . The non-transitory computer readable storage medium of claim 17 , wherein in response to receiving the third API call when the transit container is in an inbound pending state or an inbound pending held state, the first service rejects the third API call.
19 . The non-transitory computer readable storage medium of claim 16 , wherein the second API call moves the resource into the transit container from a resource state of the transit container.
20 . The non-transitory computer readable storage medium of claim 16 , wherein one of the plurality of services receives an external request from an external client over a computer network to move the resource to one or more destinations, and the first API call is transmitted to the first service in response to the external request.