Skip to content
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

Implement : Delay-Queue, Message-TTL, Queue-TTL, Dead-Letter-Queue, Multi-Tenant in AoP(Implementation based on PR#748) #851

Closed
wants to merge 44 commits into from

Conversation

GhostBoyBoy
Copy link
Contributor

@GhostBoyBoy GhostBoyBoy commented Mar 15, 2023

Fixes #832

Motivation

1.Support dead letter queue.
2.Supports message-level and queue-level ttl.
3.Support multi-tenant, client virtual-host use tenant/virtual-host, this function can migrate multiple rabbitmq clusters to aop, you only need to set different tenant.
4.Rabbitmq delay queue is supported.

Modifications

1.Create a subscription for each queue (initialized when the queue is created).
2.Getting the subscription in the PersistentQueue starts a task loop to detect message expiration.
3.Passing the parameters of the queue to the PersistentQueue
4.When the consumer calls basic.reject or nack with requeue=false, the dead-letter queue or ack message is routed.

Verifying this change

  • Make sure that the change passes the CI checks.

(Please pick either of the following options)

This change is a trivial rework / code cleanup without any test coverage.

(or)

This change is already covered by existing tests, such as (please describe tests).

(or)

This change added tests and can be verified as follows:

(example:)

  • Added integration tests for end-to-end deployment with large payloads (10MB)
  • Extended integration test for recovery after broker failure

Does this pull request potentially affect one of the following parts:

If yes was chosen, please highlight the changes

  • Dependencies (does it add or upgrade a dependency): (no)
  • The public API: (no)
  • The schema: (no)
  • The default values of configurations: (no)
  • The wire protocol: (no)
  • The rest endpoints: (no)
  • The admin cli options: (no)
  • Anything that affects deployment: (no)

Documentation

Check the box below.

Need to update docs?

  • doc-required

    (If you need help on updating docs, create a doc issue)

  • no-need-doc

    (Please explain why)

  • doc

    (If this PR contains doc changes)

@github-actions github-actions bot added the no-need-doc This pr does not need any document label Mar 15, 2023
@GhostBoyBoy GhostBoyBoy changed the title Implement message TTL, Queue TTL, dead letter queue in AoP(Implementation based on PR#748) Implement : Delay-queue, Message TTL, Queue TTL, Dead-Letter Queue in AoP(Implementation based on PR#748) Mar 15, 2023
@GhostBoyBoy GhostBoyBoy changed the title Implement : Delay-queue, Message TTL, Queue TTL, Dead-Letter Queue in AoP(Implementation based on PR#748) Implement : Delay-Queue, Message-TTL, Queue-TTL, Dead-Letter-Queue, Multi-Tenant in AoP(Implementation based on PR#748) Mar 15, 2023
mingyifei added 11 commits March 16, 2023 13:50
@GhostBoyBoy
Copy link
Contributor Author

All queues are loaded by default.

2. Adjust the admin server configuration
3. Fix queue and exchange not loading
4. Optimize the message query api
@GhostBoyBoy GhostBoyBoy closed this by deleting the head repository Jun 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-need-doc This pr does not need any document
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEATURE] Support message TTL and dead letter queue
2 participants