Replies: 1 comment 1 reply
|
You can use the endpoint name, and by default, that endpoint name already is the topic name for Kafka, Pulsar, et al. And you already have BroadcastToTopicAsync() as well. I'm not seeing anything that's really new here, but feel free to go for a pull request I guess. Otherwise, I'm kicking this over to a discussion. |
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Feature Request: Dynamic Topic/Destination Routing for
InvokeAsyncSummary
InvokeAsynccurrently has no way to specify a dynamic topic or destination at the call site without manually constructing a transport-specific URI. This breaks the transport-agnostic design that Wolverine otherwise provides well.Current Behavior
To route
InvokeAsyncto a dynamic topic, you must useEndpointForwith a manually constructed URI:This has several problems:
kafka://topic/,rabbitmq://, etc.)BroadcastToTopicAsyncfor request/reply scenariosExpected Behavior
Similar to how
BroadcastToTopicAsyncallows dynamic topic publishing,InvokeAsyncshould support equivalent dynamic routing:Use Case
A common pattern is dynamically started workers — each worker instance listens on its own topic derived at runtime (e.g. per-tenant, per-device, per-session). The orchestrator needs to invoke a request/reply against a specific worker's topic without hardcoding transport URIs.
Currently
BroadcastToTopicAsynccovers the fire-and-forget side of this pattern but there is no equivalent for request/reply viaInvokeAsync, forcing a transport-specific workaround.Current Workaround
Proposed API
Environment
All reactions