Currently, the APIs implicitly support a single instance per function, since the output_mapping field of PatchRequest maps each channel to a single InstanceId.
This must be changed to enable horizontal scalability within an orchestration domain.
Required changes include:
- Updating
Orchestrator so that it supports > 1 function instance.
- Change the
PatchRequest message so that output_mapping is a map from the channel name to a vector of InstanceId.
- Update the callback table in the function instances so that they support multiple outputs, with load balancing based on a weight (to be added to the
PatchRequest, too).
Currently, the APIs implicitly support a single instance per function, since the
output_mappingfield ofPatchRequestmaps each channel to a singleInstanceId.This must be changed to enable horizontal scalability within an orchestration domain.
Required changes include:
Orchestratorso that it supports > 1 function instance.PatchRequestmessage so thatoutput_mappingis a map from the channel name to a vector ofInstanceId.PatchRequest, too).