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

add rocketMq message gray plugin #1599

Merged
merged 1 commit into from
Aug 31, 2024

Conversation

chengyouling
Copy link
Collaborator

@chengyouling chengyouling commented Aug 19, 2024

What type of PR is this?

Feature.

What this PR does / why we need it?

During gray deployment, gray instances need to consume or produce gray messages.

Which issue(s) this PR fixes?

Fixes #1539

Does this PR introduce a user-facing change?

No

Copy link

codecov bot commented Aug 19, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Flag Coverage Δ Complexity Δ
unittests 42.77% <ø> (-0.26%) 182.00 <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

see 55 files with indirect coverage changes

@chengyouling chengyouling force-pushed the develop-mq-gray branch 4 times, most recently from 9ece8d0 to d2f6ce4 Compare August 20, 2024 01:19
@chengyouling chengyouling self-assigned this Aug 20, 2024
@lilai23
Copy link
Collaborator

lilai23 commented Aug 20, 2024

Describe your core logic of this feature as list

@chengyouling
Copy link
Collaborator Author

Core logic:

If the current instance service_meta matched serviceMeta config or current thread traffic tag matched trafficTag config, current instance mark as gray instance, or is base instance.

1、produce message

If current instance is gray, during produce message, set trafficTags in the message property.

2、consume message

gray instance

Only consume contains current consumerGroupTag corresponding traffic tags message.

base instance

auto model:

First, exclude consumerGroupTag corresponding traffic tags message that set in excludeGroupTags, dynamically querying whether there are new gray consumer group consume message, if have, exclude corresponding traffic tags message.

base mode:

Exclude consumerGroupTag corresponding traffic tags message that set in excludeGroupTags, if excludeGroupTags not set, then consume all message.

@chengyouling chengyouling force-pushed the develop-mq-gray branch 2 times, most recently from 516496e to eaeccd9 Compare August 27, 2024 03:55
@chengyouling chengyouling force-pushed the develop-mq-gray branch 3 times, most recently from 95bef84 to 22e64d7 Compare August 29, 2024 01:48
@chengyouling chengyouling force-pushed the develop-mq-gray branch 2 times, most recently from ecc6195 to 6e7ae2a Compare August 29, 2024 13:05
lilai23
lilai23 previously approved these changes Aug 30, 2024
@Sherlockhan Sherlockhan merged commit c5d5819 into sermant-io:develop Aug 31, 2024
273 checks passed
@chengyouling chengyouling deleted the develop-mq-gray branch January 7, 2025 01:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

support rocketMq grayscale message
5 participants