Temporal Nexus - Temporal feature
Temporal Nexus is available in Public Preview for Temporal Cloud and self-hosted deployments.
Connect Temporal Applications
Nexus allows you to reliably connect Temporal Applications. Designed with Durable Execution in mind, Nexus enables each team to have their own Namespace for improved modularity, security, debugging, and fault isolation.
Nexus Services can be used across and within Namespaces. Nexus Operations can span any length of execution, be synchronous or asynchronous, and be implemented with Temporal primitives, like Workflows, or execute arbitrary code.
Unlike other forms of inter-service communication, Nexus combines a familiar programming model with the resiliency of the Temporal Platform and its queue-based Worker architecture. The result is an integrated Temporal experience with improved security, observability, and reliability. Nexus supports cross-team, cross-domain, cross-namespace, and multi-region use cases.
Why use Temporal Nexus?
Integrated developer experience
- Temporal SDKs:
- Use Nexus Services from a caller Workflow.
- Run Nexus Service handlers in a Worker, often the same Worker as underlying primitives.
- Implement long-running asynchronous Nexus Operations as Workflows.
- Handle low-latency synchronous Nexus Operations with Temporal primitives or arbitrary code.
- Execute Operations with at-least-once semantics by default, and exactly-once semantics using Workflow ID reuse policies.
- Nexus Endpoints with a queue-based Worker architecture:
- Connect callers and handlers through Nexus Endpoints, a reverse proxy for Nexus Services.
- Manage Endpoints in the Temporal Nexus Registry.
- Use an Nexus Endpoint by name, which routes to an upstream target Namespace and Task Queue.
- Serve requests from a Nexus Worker by polling an Endpoint's target Task Queue, with automatic load balancing.
Key features
- Built-in Temporal Nexus Machinery:
- Reliable state-machine-based invocation and completion callbacks for Nexus Operations.
- Atomic handoff from Workflow Event History to Nexus Operation state machines.
- Automatic retries, rate limiting, concurrency limiting, and circuit breaking.
- Integrated observability:
- Operation lifecycle and error info in Workflow Event History.
- Bi-directional linking for end-to-end debugging across Namespaces.
- Metrics, traces, and logs.
- Improved blast radius isolation:
- Each team can have its own Namespace.
- Per-Namespace security & rate limits.
- Isolate misbehaving Workers.
- Enhanced security and connectivity in Temporal Cloud
- Built-in access controls. Restrict which callers can use a Nexus Endpoint.
- Global mTLS-secured Envoy mesh, connecting all Namespaces in an Account.
Common use cases
-
Cross-team, cross-domain, and cross-namespace - Nexus is purpose-built to connect Temporal Applications within and across Namespaces. It addresses the limitations of Child Workflows, Activity Wrappers, and bespoke APIs that target a remote Namespace. Nexus has a streamlined Temporal developer experience, reliable execution, and integrated observability.
-
Share a subset of a Temporal Application - Abstract and share a subset of an Application as a Nexus Service. Expose Services on a Nexus Endpoint for others to use and secure access with Endpoint access control policies. Nexus Endpoints decouple callers from handlers, so teams can operate more autonomously.
-
Design for growth - Temporal Nexus enables a modular application design that can evolve as you grow. Start with Nexus Services in a monolithic Namespace and move Services to separate Namespaces with small configuration changes and no downtime for service consumers.
-
Smaller failure domains - When teams operate in the same monolithic Namespace, everything is available to everyone, and mis-behaving workers can trigger rate limits that affect all teams operating in that monolithic Namespace. Nexus enables each team to have their own Namespace for improved security, troubleshooting, and fault isolation.
-
Multi-region - Nexus requests in Temporal Cloud are routed across a global mTLS-secured Envoy mesh. Built-in Nexus Machinery provides reliable at-least-once execution, even across multi-region boundaries.
Advantages
- Reliably connect Temporal Applications within and across Namespaces.
- Microservice contracts suitable for sharing across teams.
- Abstract underlying Temporal primitives, like Workflows – or execute arbitrary code.
- Modular design that streamlines multi-team development.
- Improved security and blast-radius isolation with isolated Namespaces.
- Same queue-based Worker architecture, no bespoke service deployments needed.
Learn more
To connect with the Nexus community, join the #nexus channel in Temporal Slack.