Overview
Nexus RPC is an open-source service framework for arbitrary-length operations whose lifetime may extend beyond a traditional RPC. It provides:- Cross-namespace communication - Call workflows across namespace boundaries
- Cross-cluster orchestration - Coordinate workflows across Temporal clusters
- Async operations - Support for long-running operations with callbacks
- Service abstraction - Expose workflows as RPC services with defined contracts
Nexus is enabled by default in Temporal Server version 1.26.0 or newer. It is only supported in single-cluster setups (multi-cluster replication is not yet implemented).
Architecture
Nexus uses the Nexus over HTTP Spec implemented via the Nexus Go SDK.HTTP Routes
The Frontend service exposes Nexus HTTP routes on the HTTP API port (default:7243):
/namespaces/{namespace}/task-queues/{task_queue}/nexus-services
/namespaces/{namespace}/task-queues/{task_queue}/nexus-services
Direct task queue dispatch - Dispatch a Nexus task directly to a task queue.Used for namespace-local Nexus operations without endpoint registration.
/nexus/endpoints/{endpoint}/services
/nexus/endpoints/{endpoint}/services
Endpoint dispatch - Dispatch a Nexus task to a registered endpoint by ID.Uses the Nexus endpoint registry for routing across namespaces/clusters.
/namespaces/{namespace}/nexus/callback
/namespaces/{namespace}/nexus/callback
Operation callbacks - Complete a Nexus operation via callback.Callback URL for async operations to notify completion.
Configuration
Enable HTTP API
Ensure the HTTP API is enabled in your server configuration:This is enabled by default in standard Temporal configurations.
Configure Public URL
Set the public callback URL accessible to external callers:Replace
{cluster_name} with your cluster name.Nexus Endpoints
Nexus endpoints define routing for operations:Endpoint Registry
Endpoints are stored in thenexus_endpoints table:
Endpoint Configuration
Human-readable endpoint name
Target namespace for operations
Task queue to dispatch operations to
Optional description of the endpoint’s purpose
Operation Types
- Sync Operations
- Async Operations
Short-lived operations that complete within the RPC timeout:
- Completes within HTTP timeout
- No operation ID required
- Simple request-response pattern
Callbacks
Async operations support callbacks for completion notification:Callback URL Format
Implementation in CHASM
Nexus is integrated with CHASM for workflow completion callbacks:- Location:
components/nexusoperations/ - Callback handlers: Process completion notifications from Nexus operations
- State management: Track operation status in workflow state
- Error handling: Retry failed callbacks with exponential backoff
Security
Nexus endpoints support authentication and authorization:Monitoring
Key metrics for Nexus operations:- nexus_requests_total - Total Nexus requests received
- nexus_request_latency - Request processing latency
- nexus_callback_attempts - Callback delivery attempts
- nexus_callback_failures - Failed callback deliveries
- nexus_endpoint_cache_hits - Endpoint registry cache hits
Troubleshooting
Endpoint not found errors
Endpoint not found errors
Symptoms: 404 errors when calling Nexus endpointsSolutions:
- Verify endpoint is registered:
temporal operator nexus endpoint list - Check endpoint ID matches the request
- Ensure endpoint cache has refreshed (may take up to 60 seconds)
Callback delivery failures
Callback delivery failures
Symptoms: Operations complete but caller not notifiedSolutions:
- Verify callback URL is accessible from workflow workers
- Check network policies and firewall rules
- Review callback retry metrics for transient failures
- Ensure callback handler is responding with 2xx status
Cross-namespace permission denied
Cross-namespace permission denied
Symptoms: 403 errors when calling across namespacesSolutions:
- Verify authorization rules allow cross-namespace access
- Check JWT claims include required namespace permissions
- Review authorization logs for denial reasons
Limitations
See Also
CHASM Architecture
Learn how Nexus integrates with CHASM components
Frontend Service
Understand HTTP API implementation
Security
Configure authentication and authorization
Nexus Go SDK
Official Nexus SDK documentation