From 9228e4da387f0dbaa395cab7dbfa2849b7e5eb00 Mon Sep 17 00:00:00 2001 From: aramissennyeydd Date: Mon, 11 Mar 2024 23:28:43 -0400 Subject: [PATCH] update to heartbeats Signed-off-by: aramissennyeydd --- beps/0005-split-backend-discovery/README.md | 73 +++++++++++------- .../registrations.drawio.png | Bin 173955 -> 174316 bytes 2 files changed, 45 insertions(+), 28 deletions(-) diff --git a/beps/0005-split-backend-discovery/README.md b/beps/0005-split-backend-discovery/README.md index 2a28935800..fb45123241 100644 --- a/beps/0005-split-backend-discovery/README.md +++ b/beps/0005-split-backend-discovery/README.md @@ -99,7 +99,7 @@ A node that serves as the primary discovery point. A gateway node will have all #### Non-gateway Node -A node that needs to call a Gateway node for routing outside of its own plugins. +A node that needs to call a Gateway node for routing outside of its own plugins. This node will still fire requests to other instances, but does not know which instances have which plugins. ### New Discovery Plugin @@ -113,36 +113,51 @@ info: paths: /register: post: - summary: Register an instance with the gateway. - operationId: registerInstance + summary: Register a plugin with the gateway. + operationId: registerPlugin requestBody: - description: Create a new pet in the store content: application/json: schema: type: object properties: - instanceUrl: + pluginId: + type: string + externalUrl: + type: string + internalUrl: type: string - plugins: - type: object - # Map of pluginId to external/internal URL. - additionalProperties: - type: object - properties: - externalUrl: - type: string - internalUrl: - type: string required: true responses: '200': description: Successful operation '400': description: Invalid input + /unregister: + post: + summary: Unregister a plugin with the gateway. + operationId: unregisterPlugin + requestBody: + content: + application/json: + schema: + type: object + properties: + pluginId: + type: string + externalUrl: + type: string + internalUrl: + type: string + required: true + responses: + '200': + description: Successful operation + '400': + description: Invalid input or already unregistered. /registrations: get: - summary: Get all registered plugins + summary: Get all registered pluginIds operationId: listRegistrations responses: '200': @@ -206,7 +221,7 @@ This new method is expected to call the gateway node's `discovery://registration On startup, _instances_ will send a request to the gateway node, `discovery://register` with information about the instance and what plugins it owns. This request must be signed using service-to-service auth keys between the two instances to prevent malicious registrations. We may revisit this in the future. -#### New `InstanceMetadataService` +### New `InstanceMetadataService` While we could attach the existing information to the `PluginMetadataService`, we propose a new service that handles instance-level information. The existing `PluginMetadataService` should reveal information about the plugin itself, its `pluginId`, dependencies or similar. The new `InstanceMetadataService` should give you information about the entire Backstage instance that you're interrogating. At launch, this should include the list of features installed _on your instance_ that can then be aggregated by the discovery API across the gateway nodes. One could imagine this service also having information about instance URLs, health or gateway status. @@ -242,7 +257,7 @@ export interface PluginRegistrations { plugin_id: string; internal_url: string; external_url: string; - last_check_in: timestamp; + last_health_check: timestamp; } ``` @@ -250,22 +265,24 @@ As any gateway node _could_ be hit by any given plugin, the implementation shoul The triplet `plugin_id`, `internal_url`, `external_url` should be unique. We may have multiple plugins on multiple URLs either internal or external. Routing in those cases is not covered in this BEP. Horizontally scaled plugins should use external technologies to route requests and handle load balancing. This should be reflected in their `backend.baseUrl` properties. Instance IP addresses should _not_ be sent or stored in this database. -### Check ins +### Heartbeats -To prevent stale data, we propose implementing "check ins". Each check in will write to the database's `last_check_in` row, these will be infrequent enough that this isn't a crazy load on the database. These check ins serve 2 purposes, +To prevent stale data, we propose implementing heartbeats. Each plugin should expose a `/health` endpoint (this will be configurable per plugin). When registering, the plugin will send its internal and external reachable URLs to the gateway node. After registering, every x seconds the gateway node will send a heartbeat request to the health endpoint. That endpoint is expected to return a 200 HTTP response. If it doesn't respond with a 200 or doesn't respond within a reasonable timeout, that plugin will be considered unregistered at its instance URL. If this represents the last instance URL for a given plugin, the entire plugin will be considered unavailable. -1. to verify that the gateway node is reachable by the non-gateway node. -1. to verify that the gateway node has the most up to date data from the non-gateway node. +The goal with adopting heartbeats is to leverage the decentralized nature of health checks per plugin to enable horizontal scaling easily. Only a single instance has to respond to a health check for it to pass. -The first is necessary to prevent a case where the non-gateway node loses network access or crashes. In this case, we will use the `last_check_in` timestamp. If an instance hasn't contacted the gateway plugin in x check-ins (or seconds), we remove that instance's plugins. This will most likely be an optimistic update and will happen at read time for other operations. So the database may still have entries with expired `last_check_in` rows if the discovery API is not actively used. +These would initially be naively implemented, using in memory intervals on each gateway node that a plugin registers with. This brings with it 2 risks that would result in lost traffic. -The second is necessary to prevent a case where an instance may restart with more/less plugins. The gateway needs a way of knowing that the instance data changed. This is why we propose a "check in" approach over just a heartbeat. The non-gateway plugin should send its list of plugins to the gateway plugin to check if anything has changed since it last checked in. This allows us to be much more specific about when the instance will re-register. +1. The gateway node handling heartbeats crashes. +1. The instance handling traffic crashes. -In the case of horizontally scaled plugins, we should be able to keep the current check-ins, but we may revisit if the volume is too high. +Both may cause a temporary outage in plugin traffic. + + ### Unregistering Plugins -While some service discovery implementation have the ability for plugins to unregister themselves on shutdown or error, this proves difficult for horizontally scaled deployments. As such, we propose using the check ins described above to verify that a plugin is operational. +Each plugin will send a request to the gateway node's `/unregister` endpoint on shutdown. Any responses will not block the shutdown process. This will remove the plugin/instance combination from the database. As we have to consider horizontally scaled deployments, this may be triggered multiple times for a given plugin/instance combination. For duplicates, the endpoint will send a 400. ## Release Plan @@ -289,6 +306,6 @@ not need to be as detailed as the proposal, but should include enough information to express the idea and why it was not acceptable. --> -## Per-plugin registration +## Per-instance registration -Assuming that instances restart when plugins are added and removed -- as is currently the case -- this doesn't give much benefit. However, if plugins are able to be installed dynamically and it becomes difficult to maintain an accurate list at the instance-level, we should revisit this. +This would involve sending a request on instance startup with a list of the current plugins and information about how to route to them. While this is useful with the instance restarts on every plugin addition, it has issues with unregistering plugins when the instance crashes and doesn't restart and causes extra stress on the gateway node in comparison to a pure health check/heartbeat. diff --git a/beps/0005-split-backend-discovery/registrations.drawio.png b/beps/0005-split-backend-discovery/registrations.drawio.png index e772f23f7a622a2e57d2a3b9428aee27fbfb8878..f95f755455ff3b42b2b5b8040628ffb3a8e82fc2 100644 GIT binary patch delta 40674 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