This document describes the design considerations, requirements, test cases, failure and edge cases of each component.
The table below defines the order to implement each module. Less dependent modules will be implemented first.
Order | Module | Dependencies | ||||
---|---|---|---|---|---|---|
1 | EtcdUtils | |||||
2 | Activation gRPC Service | |||||
3 | ActivationConsumer | |||||
4 | ContainerCreationConsumer | |||||
5 | Queue GRPC Service | EtcdUtils | ||||
6 | CreationJobManager | EtcdUtils | ||||
7 | LeaseKeepAliveService | EtcdUtils | ||||
8 | EnhancedQueueServiceClient | EtcdUtils | ||||
9 | DistributedPoolBalancer | EtcdUtils | ||||
10 | DistributedEntitlement | DistributedPoolBalancer | EtcdUtils | |||
11 | InvokerHealthManager | LeaseKeepAliveService | EtcdUtils | |||
12 | ContainerManager | CreationJobManager | EtcdUtils | |||
13 | ContainerProxyV2 | InvokerHealthManager | LeaseKeepAliveService | EtcdUtils | ||
14 | ContainerPoolV2 | InvokerHealthManager | LeaseKeepAliveService | EtcdUtils | ||
15 | MemoryQueue | ContainerManager | LeaseKeepAliveService | CreationJobManager | EtcdUtils | |
16 | InvokerReactiveV2 | ContainerCreationConsumer | Activation gRPC Service | InvokerHealthManager | LeaseKeepAliveService | EtcdUtils |
17 | QueueManager | MemoryQueue | ContainerManager | LeaseKeepAliveService | CreationJobManager | EtcdUtils |
18 | Scheduler |