Service Limit Initialization
Understanding how the SPEKTRA Edge service limit initialized.
Limits service is a fairly one of those services with special design.
Service itself should be known from the user guide already and in some
part from the developer guide. Knowledge about plans is assumed. Limits
also is one of the standard services, and its code structure in the
SPEKTRA Edge repository (limits
directory) should be familiar.
What needs explanation is how Limits ensures that “values” don’t get
corrupted, lost, over-allocated, etc. First, resources are allocated
in each service, but resource limits.edgelq.com/Limit
belongs to
a Limits service. Therefore, we can’t easily guarantee counter-integrity
if the resource is created in one service and counted elsewhere. Next,
we know that limit values are passed from service to organizations, then
to potential child organizations, and eventually to projects. From
MultiRegion design, we know that each organization and project may point
to a main region where resources are kept. Therefore, we know that
organizations/{organization}/acceptedPlans/{acceptedPlan}
is in the
organization’s region, and
projects/{project}/planAssignments/{planAssignment}
is in the project’s
region, may be different. This document describes how these Limits work
in this case.
We will also be showing code pointers, where things can be found.
During this guide, you will find out why parallel creations/deletions are not parallel!
Understanding how the SPEKTRA Edge service limit initialized.
Understanding how the project and organization limit initialized.
Understanding the AcceptedPlan update process.
Understanding the resource limit assignment.
Understanding how the resource limit is tracked.
Understand the project and organization deletion process.