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.


OrderModuleDependencies









1EtcdClient










2FPCEntitlementProvider










3FPCSchedulerServer










4NamespaceContainerCount










5ElasticSearchDurationChecker










6NoopDurationCheckerElasticSearchDurationChecker









7ActivationServiceImpl










8DataManagementServiceEtcdClient









9WatcherServiceEtcdClient









10LeaseKeepAliveServiceEtcdClientWatcherService








11ContainerManagerEtcdClientEtcdUtils








12EtcdUtilsLeaseKeepAliveServiceEtcdClientWatcherService







13InvokerHealthManagerEtcdUtilsLeaseKeepAliveServiceEtcdClientWatcherService






14QueueManagerEtcdClientEtcdUtilsDataManagementServiceWatcherService






15FPCInvokerServerInvokerHealthManagerEtcdUtilsLeaseKeepAliveServiceEtcdClient






16FunctionPullingContainerPoolEtcdClientDataManagementServiceInvokerHealthManager







17ContainerCreationConsumerFunctionPullingContainerPoolEtcdClientDataManagementServiceInvokerHealthManager






18CreationJobManagerEtcdClientEtcdUtilsQueueManagerDataManagementServiceWatcherService





19MemoryQueueEtcdClientEtcdUtilsContainerManagerActivationServiceImplElasticSearchDurationCheckerQueueManagerWatcherServiceCreationJobManager


20ActivationClientProxyActivationServiceImplMemoryQueueEtcdClientEtcdUtilsContainerManagerActivationServiceImplElasticSearchDurationCheckerQueueManagerWatcherServiceCreationJobManager
21FunctionPullingContainerProxyEtcdUtilsDataManagementServiceActivationClientProxyInvokerHealthManagerActivationClientProxy





22FPCInvokerReactiveDataManagementServiceLeaseKeepAliveServiceWatcherServiceActivationServiceImplEtcdClientEtcdUtilsFPCSchedulerFunctionPullingContainerPoolFunctionPullingContainerProxy

23FPCSchedulerEtcdClientEtcdUtilsContainerManagerCreationJobManagerActivationServiceImplDataManagementServiceLeaseKeepAliveServiceWatcherServiceElasticSearchDurationCheckerQueueManagerMemoryQueue
24FPCPoolBalancerEtcdClientEtcdUtilsFPCSchedulerContainerManagerCreationJobManagerActivationServiceImplDataManagementServiceLeaseKeepAliveServiceWatcherServiceElasticSearchDurationCheckerQueueManager
  • No labels