Skip to main content

Choose an entry path

Nereus Delay exposes two entry surfaces and two delivery modes. Choose them independently: the entry surface decides how an application reaches the service, while the delivery mode decides whether the message remains under the managed lifecycle.

Direct SDK or Delay Gateway?​

EntryBest fitAddsDoes not change
Direct Java SDKJava applications that can use the Nereus Delay client directlyLocal preparation and guarded Kafka/Pulsar submissionCommand semantics, routing, receipts, or the Shard state machine
Delay GatewayMulti-language clients or teams that need centralized authentication, quota, audit, and credential custodyA network service around the same preparation and transport boundariesThe wire Command, Command hash, or meaning of a successful submission

Both paths use the same Semantic Core. Given the same authenticated Route snapshot and request, they prepare the same immutable command bytes. The Gateway is not a second scheduler or a separate source of truth.

MANAGED or AUTO_FAST?​

MANAGED is the default and the normal choice. It places the operation in the Command Topic and preserves server-side query, cancel, reschedule, quota, audit, checkpoint, retry, DLQ, and recovery boundaries.

AUTO_FAST is explicit permission for the SDK to choose, before any network I/O, between:

  • a normal managed Prepared Command; or
  • a certified Pulsar native delayed-delivery request.

The choice is sealed before submission and reused on retry. A native attempt never silently falls back to managed delivery after an uncertain response. Native delivery also does not acquire the managed query, cancel, or reschedule lifecycle.

What a successful call means​

A submission success proves only the receipt level returned by that path:

  • QUEUED means the ingress Broker durably accepted a managed Command;
  • a native acknowledgement proves the configured native handoff result;
  • neither result means that a managed Schedule has been applied or that a consumer processed the destination message.

If the managed workflow matters, retain the Prepared Command and its queued receipt, then use the applied-result and message-query paths instead of treating the initial call as final delivery.

Selection checklist​

Choose the Direct SDK when the client is Java and centralized governance is unnecessary. Choose the Gateway when language neutrality, centrally enforced identity, quota, audit, or secret custody is part of the boundary. Keep MANAGED unless the caller knowingly gives up managed lifecycle operations and the Pulsar native capability is currently certified.

Continue with the lifecycle walkthrough, then read commands, messages, and receipts.