An endpoint is a logical component that communicates with other components using messages. Each endpoint has an identifying name, contains a collection of message handlers and/or sagas, and is deployed to a given environment (e.g. development, testing, production).
An endpoint instance is a physical deployment of an endpoint. Each endpoint instance processes messages from an input queue which contains messages for the endpoint to process. Each endpoint has at least one endpoint instance. Additional endpoint instances may be added to scale-out the endpoint. A collection of endpoint instances represents a single endpoint if and only if:
- The endpoint instances have the same name.
- The endpoint instances contain the same collection of handlers and/or sagas.
- The endpoint instances are deployed to the same environment.