Endpoint decommissioning is the process of permanently shutting down an endpoint instance. This can be done for various reasons, such as:
- Dividing the endpoint's responsibility among other endpoints
- Scaling down endpoint instances
- Other (like removing certain functionality from the system)
When decommissioning endpoints, several aspects should be considered:
- Routing should be adjusted to make sure that no new messages will be delivered to that endpoint.
- All messages in the endpoint's queue should be processed.
- Subscriptions for the events the endpoint receives should be removed.
- In NServiceBus version 7 and earlier, endpoints that use the timeout manager store timeouts that should be rerouted to other endpoint instances, if applicable. In version 8 and later, the timeout manager is removed, and any remaining timeouts can be migrated using the timeouts migration tool.
- If messages for the decommissioned endpoint fail, use ServicePulse redirects to retry them against another endpoint.
- Remove the decommissioned endpoint instances from ServicePulse. See removing endpoint instances.