Skip to content

Service Resilience

Appointment booking handling

Appointment booking requests sent to the Gateway endpoints no longer use broadcasts for preparing responses. Instead, the Gateway will poll the database for the results and return the relevant plan data as soon as it is available. The endpoint will now only return the plan data for appointment request IDs that were requested rather than returning the whole ABE plan that was generated.

This reduces the load and reliance on the Broadcast Manager which is limited by its ability to sequentially process plans. Appointment offers will now be returned even if the Broadcast Manager is not running. Due to this change appointment broadcasts will no longer appear in the Broadcast Results section of the scheduling dataset details when using the appointment endpoint.

Improved dataset load balancing

Datasets can be moved between different application instances by the load balancer to ensure maximal performance of the system. This has had the potential to cause issues where a dataset is instantly dropped from one application instance and then begins loading on another. This period where the dataset is loading on the new application instance causes periods of irresponsiveness until the dataset becomes ready to process updates. This is especially evident with appointment booking where fast response times are required.

This load balancing process has now changed so that a dataset is not dropped from one application instance until another application instances has loaded it and is ready to process updates. During this process the dataset will go into a 'Draining' state on the old application instance (the primary instance) until the dataset is in the ready on the new application instance (the promotee instance).

See the Administration Guide for more details on dataset load balancing.

Minor Enhancements

  • If a plan is not cached in the Query Manager when trying to prepare schedule changes for a client the request will be forwarded to another Query Manager that has the plan cached if possible.