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

[Feature] Adding consume type that allows partition assign from the client #1768

Closed
8 tasks done
gosonzhang opened this issue Nov 8, 2021 · 1 comment
Closed
8 tasks done

Comments

@gosonzhang
Copy link
Contributor

gosonzhang commented Nov 8, 2021

Description

At present, before the consumer consumption data of TubeMQ, the Master must first perform the modulo distribution based on the partition set subscribed by the consumer group and the number of clients in the consumer group, and then the client can obtain the partitions that it is allowed to consume. This is controlled by the Master, which existing some shortcomings in the partition assign model:

1. Data consumption waiting time is too long: the client has a relatively long time from startup to final consumption to data. Because the Master allocates tasks in the consumption partition according to a fixed cycle, and the process involves the release of resources by the client of the allocated partition. In bad cases, the client may take more than a few minutes to get the partition for data consumption;

2. The partition allocation plan is not rich enough: The current service side performs Hash modulo allocation based on the total set of Topic partitions subscribed by the client and the total number of clients when the consumer group is allocated. However, some services require special allocation plans. , The current distribution plan on the service side is not friendly enough and cannot be changed at any time according to business needs;
3. Specified partition consumption is not supported: During the use of the version, the business feedback that the current service side management and control are not flexible enough, for example, the client needs to bind the consumption relationship between the consumer and the partition, or when you only want to consume certain partitions at a certain startup, The current service-side consumption control is not supported.

Recently, TubeMQ has been improved to address these shortcomings in our environment, adding consumers that allow partition allocation from the client, and this feature will be improved by this issue.

InLong Component

InLong TubeMQ

Are you willing to submit PR?

  • Yes, I am willing to submit a PR!

Code of Conduct

@gosonzhang gosonzhang self-assigned this Nov 8, 2021
@gosonzhang gosonzhang added this to the 0.12.0 milestone Nov 8, 2021
@gosonzhang gosonzhang changed the title [Improve] Adding consume type that allows partition assign from the client [Feature] Adding consume type that allows partition assign from the client Nov 16, 2021
@gosonzhang
Copy link
Contributor Author

Completed, close the issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant