-
Notifications
You must be signed in to change notification settings - Fork 295
feat(message queue): Message queue documents #3156
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
Conversation
074052b
to
17c1672
Compare
17c1672
to
070f94e
Compare
…into r60-message-queue
To complement a previous update
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces comprehensive documentation for the Message Queue feature in EMQX 6.0. The documentation covers conceptual explanations, practical usage guides, and quick start tutorials across English, Chinese, and Japanese languages.
Key changes in this PR:
- Adds complete Message Queue documentation with concept explanations, user guides, and quick start tutorials
- Updates the messaging introduction pages to reference the new Message Queue feature
- Adds navigation structure for Message Queue documentation in the directory configuration
Reviewed Changes
Copilot reviewed 14 out of 20 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
zh_CN/messaging/introduction.md | Updates Chinese messaging introduction to include Message Queue as an extended MQTT feature |
zh_CN/message-queue/*.md | Adds comprehensive Chinese documentation for Message Queue concepts, usage guide, and quick start tutorial |
ja_JP/message-queue/*.md | Adds Japanese documentation for Message Queue user guide, quick start, and concepts |
en_US/messaging/introduction.md | Updates English messaging introduction to include Message Queue documentation |
en_US/message-queue/*.md | Adds complete English documentation for Message Queue feature |
zh_CN/dashboard/cluster_settings.md | Minor update to cluster description functionality |
en_US/dashboard/cluster_settings.md | Minor update to cluster description functionality |
dir.yaml | Adds Message Queue section to documentation navigation structure |
Comments suppressed due to low confidence (2)
zh_CN/message-queue/message-queue-task.md:1
- The explanation of
message.key
is inconsistent. The text states it extracts from the client ID of the message publisher, butmessage.key
typically refers to a message property, not the client ID. This should be clarified or corrected to match the actual implementation.
# 消息队列用户指南
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: we better remove
- "[MQ subscription registry]"
- "via emqx_ds_client"
strings from the pic: they are related to very internal details
Co-authored-by: Ilia Averianov <av@rubybox.ru>
Co-authored-by: Ilia Averianov <av@rubybox.ru>
Co-authored-by: Ilia Averianov <av@rubybox.ru>
Co-authored-by: Ilia Averianov <av@rubybox.ru>
…into r60-message-queue
- **Queue Key Expression**: `message.key` (or any field name you will use as key) | ||
3. Click **Create**. | ||
|
||
The “Queue Key Expression” defines where to extract the key from the message’s metadata. Set to `message.key` means EMQX will extract the queue key from the client ID of the message publisher. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe give somewhere an example of the context on which the expression is evaluated.
In json form:
{
"message": {
"qos": 0,
"topic": "some/topic",
"payload": "some-payload",
"headers": {
"client_attrs": {},
"proto_ver": 5,
"properties": {
"User-Property": {
"user-prop": "some-value"
}
},
"peerhost": "127.0.0.1",
"username": "undefined",
"protocol": "mqtt",
"peername": "127.0.0.1:49352"
},
"from": "clientid",
"timestamp": 1759238376252,
"id": "..non utf8 bytes...",
"flags": {
"retain": false,
"dup": false
},
"extra": {}
}
}
As Erlang term:
#{message =>
#{extra => #{},
flags => #{dup => false,retain => false},
id => <<0,6,64,4,154,125,229,77,244,69,0,0,28,21,0,2>>,
timestamp => 1759238376252,from => <<"clientid">>,
headers =>
#{peername => <<"127.0.0.1:49352">>,protocol => mqtt,
username => undefined,peerhost => <<"127.0.0.1">>,
properties =>
#{'User-Property' => #{<<"user-prop">> => <<"some-value">>}},
proto_ver => 5,client_attrs => #{}},
payload => <<"some-payload">>,topic => <<"some/topic">>,
qos => 0}}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also IMO we may link the word "Expression" when we mention it to the variform docs, so that a reader could easily get the syntax of the expressions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's do it tomorrow.
Co-authored-by: Ilia Averianov <av@rubybox.ru>
No description provided.