Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

feat: Add MultiQueue #18933

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

Sunshine-JamesHu
Copy link

@Sunshine-JamesHu Sunshine-JamesHu commented Feb 5, 2024

Description

Added the MultiQueue functionality, allowing simultaneous connections to multiple Queue pipelines and using a Key to differentiate between different Queues. Also included a Kafka implementation for MultiQueue, enabling access to multiple Kafka pipelines, sending data to multiple Kafka instances, and listening to different topics across multiple Kafka streams.

Checklist

  • Verified that sending and subscribing work correctly and created unit tests.

How to test it?

public override void PreConfigureServices(ServiceConfigurationContext context)
{
    PreConfigure<QueueOptionsContainer>(options =>
    {
        options.AddOptions(new QueueOptionsWarp
        {
            Key = MultiQueueTestConst.ConfigKey,
            QueueType = "Kafka",
            Options = new KafkaQueueOptions
            {
                Address = "server.dev.ai-care.top",
                GroupId = "abp-test",
            }
        });
    });
}

You can add any pipeline here and configure it. The following example demonstrates how to use it:

var publisher = MultiQueueFactory.GetPublisher(MultiQueueTestConst.ConfigKey);
var subscriber = MultiQueueFactory.GetSubscriber(MultiQueueTestConst.ConfigKey);

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


电动车 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@Sunshine-JamesHu
Copy link
Author

#18933 This Issues

@Sunshine-JamesHu
Copy link
Author

image
Due to the need for Kafka support, I used my local Kafka address

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants