THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
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 | EtcdClient | |||||||||||
2 | FPCEntitlementProvider | |||||||||||
3 | FPCSchedulerServer | |||||||||||
4 | NamespaceContainerCount | |||||||||||
5 | ElasticSearchDurationChecker | |||||||||||
6 | NoopDurationChecker | ElasticSearchDurationChecker | ||||||||||
7 | ActivationServiceImpl | |||||||||||
8 | DataManagementService | EtcdClient | ||||||||||
9 | WatcherService | EtcdClient | ||||||||||
10 | LeaseKeepAliveService | EtcdClient | WatcherService | |||||||||
11 | ContainerManager | EtcdClient | EtcdUtils | |||||||||
12 | EtcdUtils | LeaseKeepAliveService | EtcdClient | WatcherService | ||||||||
13 | InvokerHealthManager | EtcdUtils | LeaseKeepAliveService | EtcdClient | WatcherService | |||||||
14 | QueueManager | EtcdClient | EtcdUtils | DataManagementService | WatcherService | |||||||
15 | FPCInvokerServer | InvokerHealthManager | EtcdUtils | LeaseKeepAliveService | EtcdClient | |||||||
16 | FunctionPullingContainerPool | EtcdClient | DataManagementService | InvokerHealthManager | ||||||||
17 | ContainerCreationConsumer | FunctionPullingContainerPool | EtcdClient | DataManagementService | InvokerHealthManager | |||||||
18 | CreationJobManager | EtcdClient | EtcdUtils | QueueManager | DataManagementService | WatcherService | ||||||
19 | MemoryQueue | EtcdClient | EtcdUtils | ContainerManager | ActivationServiceImpl | ElasticSearchDurationChecker | QueueManager | WatcherService | CreationJobManager | |||
20 | ActivationClientProxy | ActivationServiceImpl | MemoryQueue | EtcdClient | EtcdUtils | ContainerManager | ActivationServiceImpl | ElasticSearchDurationChecker | QueueManager | WatcherService | CreationJobManager | |
21 | FunctionPullingContainerProxy | EtcdUtils | DataManagementService | ActivationClientProxy | InvokerHealthManager | ActivationClientProxy | ||||||
22 | FPCInvokerReactive | DataManagementService | LeaseKeepAliveService | WatcherService | ActivationServiceImpl | EtcdClient | EtcdUtils | FPCScheduler | FunctionPullingContainerPool | FunctionPullingContainerProxy | ||
23 | FPCScheduler | EtcdClient | EtcdUtils | ContainerManager | CreationJobManager | ActivationServiceImpl | DataManagementService | LeaseKeepAliveService | WatcherService | ElasticSearchDurationChecker | QueueManager | MemoryQueue |
24 | FPCPoolBalancer | EtcdClient | EtcdUtils | FPCScheduler | ContainerManager | CreationJobManager | ActivationServiceImpl | DataManagementService | LeaseKeepAliveService | WatcherService | ElasticSearchDurationChecker | QueueManager |