-
Notifications
You must be signed in to change notification settings - Fork 161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix consumers dlq configuration #3890
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #3890 +/- ##
=============================================
- Coverage 20.55% 20.54% -0.01%
Complexity 6 6
=============================================
Files 1940 1940
Lines 41540 41543 +3
Branches 3939 3940 +1
=============================================
- Hits 8537 8534 -3
- Misses 32606 32612 +6
Partials 397 397
|
0087ec5
to
14744eb
Compare
<dead-letter-address>DLQ</dead-letter-address> | ||
<expiry-address>ExpiryQueue</expiry-address> | ||
<dead-letter-address>dlq</dead-letter-address> | ||
<expiry-address>expired</expiry-address> | ||
<redelivery-delay>0</redelivery-delay> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing $SYS/ prefix, is that right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not forgotten, it's the service broker used for authentication so for now I preferred to leave the queues without prefixes.
Do you suggest to use the prefix here (service broker) also? (in the event broker I prefer to leave namespace as it is now)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To me it doesn't seem like a bad idea to use this separate namespace for internal messages, though I realize it's for a separate broker and adds a little overhead. Otherwise I think the PR is fine and will go ahead and approve.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To be honest I'm not sure about which is the best solution. I mean, the telemetry broker handles both external load (messages from clients and Camel consumers) and internal (like the dlq for example)
On the other side the event and service brokers handle only internal load now (events are meant to be used only by internal components now and the authentication service is performed by a service consumer built for this scope).
Anyway having services and events deployed in the same broker could lead to a namespace conflicts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think what you are suggesting worth to be implemented now.
I'm proposing a refactoring like this one (I'm going to implement it in a new commit)
Telemetry broker (only dlq):
$SYS/dlq/default
$SYS/dlq/expired
Event-broker:
$SYS/svc/evt/EVENT_ADDRESS
Service-broker:
$SYS/svc/ath/req
$SYS/svc/ath/resp/brokerId
Event/Service-broker dlq:
$SYS/svc/dlq/default
$SYS/svc/dlq/expired
I think it's a good proposal but I'm looking forward for your feedback!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree that this separate namespace should help avoid conflicts and provide more flexibility with how components are deployed. I think it would also be helpful to consider now how it should be structured/used. For the telemetry dlq for example, should it also specify the service/consumer - i.e. "$SYS/telemetry/dlq/default", etc.?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I preferred to use MSG so the new addresses (last commit) are:
Telemetry broker
$SYS/MSG/dlq/default
$SYS/MSG/dlq/expired
Event-broker
$SYS/EVT/EVENT_ADDRESS
Service-broker
$SYS/SVC/auth/req
$SYS/SVC/auth/resp/brokerId
$SYS/SVC/dlq/default
$SYS/SVC/dlq/expired
I moved event prefix out of svc.
What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works for me!
Signed-off-by: riccardomodanese <[email protected]>
…internal use Signed-off-by: riccardomodanese <[email protected]>
c21c6db
to
b738a72
Compare
Signed-off-by: riccardomodanese <[email protected]>
b738a72
to
f43d610
Compare
Signed-off-by: riccardomodanese <[email protected]>
Signed-off-by: riccardomodanese <[email protected]>
Brief description of the PR.
This pr cleans the Camel routes configuration (some old configuration was still present) and reorganizes dlq queues name
Introduces the $SYS prefix for internal use. This prefix is used for dlq and further internal feature and is not meant to be subscribed by external devices.
Related Issue
none
Description of the solution adopted
none
Screenshots
none
Any side note on the changes made
none, the effect of the changes is bound to internal components.
NO BACKPORT