syhleo commented on PR #8469:
URL: https://github.com/apache/rocketmq/pull/8469#issuecomment-2283296739
First of all, thank you very much for your response and for asking the
question.
This solution also effectively addresses this issue when multiple grayscale
environments are required.
In project development, it is true that there are multiple active branches
or environments. For this, the proposed solution is:
1. different environment processing: in different environments (e.g.
dev/test/stage/prod), the environment suffix can be added for the same topic or
group. This kind of processing has been widely used. For example, the topic
name can be topic-{environment}, such as pt-order-completed-stage, and the
group name can be GID-open-service-stage.
2. Multiple branches in the same environment: In the same environment (e.g.,
test environment), there may also exist multiple branch environments, such as
test1/test2/test3.
In conjunction with this scenario, a grayscale partitioning approach can be
used during grayscale release in a given environment. This approach ensures
that messages sent by grayscale producers are accurately consumed by grayscale
consumers, while messages from non-grayscale producers are processed by
non-grayscale consumers. In this way, it ensures both grayscale validation of
MQ message changes, as well as a friendly solution to the switchover interface
from grayscale to the normal environment once the grayscale validation is
passed.
In fact, most enterprises want to perform gray-scale validation of MQ
messages in a low-cost and convenient way in an all-link gray-scale publishing
scenario. However, when MQ does not support grayscale messages, it involves a
change in consumption logic, and developers often need to add a lot of
compatibility logic to the code. Nonetheless, these logics can only ensure that
the new business does not affect the online, but cannot ensure that the
grayscale traffic accurately enters the grayscale consumption client, thus
preventing strict grayscale validation. With this solution, these problems can
be effectively solved.
宋燕辉
***@***.***
------------------ 原始邮件 ------------------
发件人: ***@***.***>;
发送时间: 2024年8月12日(星期一) 下午2:22
收件人: ***@***.***>;
抄送: ***@***.***>; ***@***.***>;
主题: Re: [apache/rocketmq] [RIP-69] : Add a message gray solution ,
compatible with POP consumption mode and Push consumption mode (PR #8469)
Good idea. I have a question: how will this solution do when we need more
than one gray environment?
Like Git branch, we may have several active branches and each of them runs
in its independent gray environment.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]