This is an automated email from the ASF dual-hosted git repository.
jinrongtong pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git
The following commit(s) were added to refs/heads/develop by this push:
new 4b5f8665f9 Fix typos and linguistic errors in documentation (#9748)
4b5f8665f9 is described below
commit 4b5f8665f903ddfb542a6dd4dcc4dd5d6a724d7f
Author: Sebastien Dionne <[email protected]>
AuthorDate: Thu Oct 9 01:58:56 2025 -0400
Fix typos and linguistic errors in documentation (#9748)
Signed-off-by: Sebastien Dionne <[email protected]>
---
CONTRIBUTING.md | 14 +++++++-------
README.md | 12 ++++++------
distribution/bin/README.md | 4 ++--
docs/en/Concept.md | 9 ++++-----
docs/en/Configuration_TLS.md | 8 ++++----
docs/en/Deployment.md | 2 +-
docs/en/Design_LoadBlancing.md | 2 +-
docs/en/Design_Trancation.md | 2 +-
docs/en/FAQ.md | 6 +++---
docs/en/Troubleshoopting.md | 2 +-
docs/en/architecture.md | 2 +-
docs/en/best_practice.md | 14 +++++++-------
tieredstore/README.md | 10 +++++-----
13 files changed, 43 insertions(+), 44 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0458764bc2..2a05422efe 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -3,7 +3,7 @@
We are always very happy to have contributions, whether for trivial cleanups
or big new features.
We want to have high quality, well documented codes for each programming
language, as well as the surrounding
[ecosystem](https://github.com/apache/rocketmq-externals) of integration tools
that people use with RocketMQ.
-Nor is code the only way to contribute to the project. We strongly value
documentation, integration with other project, and gladly accept improvements
for these aspects.
+Nor is code the only way to contribute to the project. We strongly value
documentation, integration with other projects, and gladly accept improvements
for these aspects.
Recommend reading:
* [Contributors Tech Guide](http://www.apache.org/dev/contributors)
@@ -34,15 +34,15 @@ More details of squash can be found at
[stackoverflow](https://stackoverflow.com
We are always interested in adding new contributors. What we look for are
series of contributions, good taste and ongoing interest in the project. If you
are interested in becoming a committer, please let one of the existing
committers know and they can help you walk through the process.
-Nowadays,we have several important contribution points:
+Nowadays, we have several important contribution points:
#### Wiki & JavaDoc
#### RocketMQ SDK(C++\.Net\Php\Python\Go\Node.js)
#### RocketMQ Connectors
-##### Prerequisite
-If you want to contribute the above listing points, you must abide our some
prerequisites:
+##### Prerequisites
+If you want to contribute to the above listed points, you must abide by the
following prerequisites:
-###### Readability - API must have Javadoc, some very important methods also
must have javadoc
-###### Testability - 80% above unit test coverage about main process
-###### Maintainability - Comply with our [checkstyle
spec](style/rmq_checkstyle.xml), and at least 3 month update frequency
+###### Readability - API must have Javadoc, and some very important methods
must also have Javadoc
+###### Testability - Above 80% unit test coverage for the main process
+###### Maintainability - Comply with our [checkstyle
spec](style/rmq_checkstyle.xml), and at least a 3-month update frequency
###### Deployability - We encourage you to deploy into [maven
repository](http://search.maven.org/)
diff --git a/README.md b/README.md
index 322058fed2..765f1eb2a6 100644
--- a/README.md
+++ b/README.md
@@ -16,8 +16,8 @@ It offers a variety of features:
* Messaging patterns including publish/subscribe, request/reply and streaming
* Financial grade transactional message
-* Built-in fault tolerance and high availability configuration options base on
[DLedger Controller](docs/en/controller/quick_start.md)
-* Built-in message tracing capability, also support opentracing
+* Built-in fault tolerance and high availability configuration options based
on [DLedger Controller](docs/en/controller/quick_start.md)
+* Built-in message tracing capability, also supports opentracing
* Versatile big-data and streaming ecosystem integration
* Message retroactivity by time or offset
* Reliable FIFO and strict ordered messaging in the same queue
@@ -80,7 +80,7 @@ $ tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...
```
-For Windows users, you need set environment variables first:
+For Windows users, you need to set environment variables first:
- From the desktop, right click the Computer icon.
- Choose Properties from the context menu.
- Click the Advanced system settings link.
@@ -139,7 +139,7 @@ Before your operations, make sure that `kubectl` and
related kubeconfig file ins
$ git clone https://github.com/apache/rocketmq-operator
$ cd rocketmq-operator && make deploy
-### check whether CRDs is successfully installed
+### check whether CRDs are successfully installed
$ kubectl get crd | grep rocketmq.apache.org
brokers.rocketmq.apache.org 2022-05-12T09:23:18Z
consoles.rocketmq.apache.org 2022-05-12T09:23:19Z
@@ -156,7 +156,7 @@ rocketmq-operator-6f65c77c49-8hwmj 1/1 Running 0
93s
### create RocketMQ cluster resource
$ cd example && kubectl create -f rocketmq_v1alpha1_rocketmq_cluster.yaml
-### check whether cluster resources is running
+### check whether cluster resources are running
$ kubectl get sts
NAME READY AGE
broker-0-master 1/1 107m
@@ -182,7 +182,7 @@ name-service 1/1 107m
* [RocketMQ Dashboard](https://github.com/apache/rocketmq-dashboard):
Operation and maintenance console of Apache RocketMQ.
* [RocketMQ Connect](https://github.com/apache/rocketmq-connect): A tool for
scalably and reliably streaming data between Apache RocketMQ and other systems.
* [RocketMQ MQTT](https://github.com/apache/rocketmq-mqtt): A new MQTT
protocol architecture model, based on which Apache RocketMQ can better support
messages from terminals such as IoT devices and Mobile APP.
-* [RocketMQ EventBridge](https://github.com/apache/rocketmq-eventbridge):
EventBridge make it easier to build a event-driven application.
+* [RocketMQ EventBridge](https://github.com/apache/rocketmq-eventbridge):
EventBridge makes it easier to build an event-driven application.
* [RocketMQ Incubating Community
Projects](https://github.com/apache/rocketmq-externals): Incubator community
projects of Apache RocketMQ, including
[logappender](https://github.com/apache/rocketmq-externals/tree/master/logappender),
[rocketmq-ansible](https://github.com/apache/rocketmq-externals/tree/master/rocketmq-ansible),
[rocketmq-beats-integration](https://github.com/apache/rocketmq-externals/tree/master/rocketmq-beats-integration),
[rocketmq-cloudevents-binding](https://github.co [...]
* [RocketMQ Site](https://github.com/apache/rocketmq-site): The repository for
Apache RocketMQ website.
* [RocketMQ E2E](https://github.com/apache/rocketmq-e2e): A project for
testing Apache RocketMQ, including end-to-end, performance, compatibility tests.
diff --git a/distribution/bin/README.md b/distribution/bin/README.md
index efbb67d9f4..ab702cfd3b 100644
--- a/distribution/bin/README.md
+++ b/distribution/bin/README.md
@@ -1,9 +1,9 @@
### Operating system tuning
-Before deploying broker servers, it's highly recommended to run **os.sh**,
which is to optimize your operating system for better performance.
+Before deploying broker servers, it is highly recommended to run **os.sh**,
which optimizes your operating system for better performance.
## Notice
### os.sh should be executed only once with root permission.
-### os.sh parameter settings are for reference purpose only. You can tune them
according to your target host configurations.
+### os.sh parameter settings are for reference purposes only. You can tune
them according to your target host configurations.
### Start broker
diff --git a/docs/en/Concept.md b/docs/en/Concept.md
index 03f2384293..670fbc3724 100644
--- a/docs/en/Concept.md
+++ b/docs/en/Concept.md
@@ -18,17 +18,16 @@ The Name Server serves as the provider of routing service.
The producer or the c
## 7 Pull Consumer
A type of Consumer, the application pulls messages from brokers by actively
invoking the consumer pull message method, and the application has the
advantages of controlling the timing and frequency of pulling messages. Once
the batch of messages is pulled, user application will initiate consuming
process.
## 8 Push Consumer
-A type of Consumer, the application do not invoke the consumer pull message
method to pull messages, instead the client invoke pull message method itself.
At the user level it seems like brokers
-push to consumer when new messages arrived.
+A type of Consumer, the application does not invoke the consumer pull message
method to pull messages, instead the client invokes the pull message method
itself. At the user level it seems like brokers push to the consumer when new
messages arrive.
## 9 Producer Group
A collection of the same type of Producer, which sends the same type of
messages with consistent logic. If a transaction message is sent and the
original producer crashes after sending, the broker server will contact other
producers in the same producer group to commit or rollback the transactional
message.
## 10 Consumer Group
A collection of the same type of Consumer, which consume the same type of
messages with consistent logic. The consumer group makes load-balance and
fault-tolerance super easy in terms of message consuming.
Warning: consumer instances of one consumer group must have exactly the same
topic subscription(s).
-RocketMQ supports two types of consumption mode:Clustering and Broadcasting.
+RocketMQ supports two types of consumption mode: Clustering and Broadcasting.
## 11 Consumption Mode - Clustering
-Under the Clustering mode, all the messages from one topic will be delivered
to all the consumers instances averagely as much as possible. That is, one
message can be consumed by only one consumer instance.
+Under the Clustering mode, all the messages from one topic will be delivered
to all the consumer instances as evenly as possible. That is, one message can
be consumed by only one consumer instance.
## 12 Consumption Mode - Broadcasting
Under the Broadcasting mode, each consumer instance of the same consumer group
receives every message published to the corresponding topic.
## 13 Normal Ordered Message
@@ -39,4 +38,4 @@ Under the Strictly Ordered Message mode, all messages
received by the consumers
The physical carrier of information transmitted by a messaging system, the
smallest unit of production and consumption data, each message must belong to
one topic.
Each Message in RocketMQ has a unique message id and can carry a key used to
store business-related value. The system has the function to query messages by
its id or key.
## 16 Tag
-Flags set for messages to distinguish different types of messages under the
same topic, functioning as a "sub-topic". Messages from the same business unit
can set different tags under the same topic in terms of different business
purposes. The tag can effectively maintain the clarity and consistency of the
code and optimize the query system provided by RocketMQ. The consumer can
realize different "sub-topic" by using tag in order to achieve better
expandability.
+Flags set for messages to distinguish different types of messages under the
same topic, functioning as a "sub-topic". Messages from the same business unit
can set different tags under the same topic for different business purposes.
The tag can effectively maintain the clarity and consistency of the code and
optimize the query system provided by RocketMQ. The consumer can realize
different "sub-topics" by using tags in order to achieve better extensibility.
diff --git a/docs/en/Configuration_TLS.md b/docs/en/Configuration_TLS.md
index 445d186d27..f9716f92f5 100644
--- a/docs/en/Configuration_TLS.md
+++ b/docs/en/Configuration_TLS.md
@@ -1,8 +1,8 @@
# TLS Configuration
-This section introduce TLS configuration in RocketMQ.
+This section introduces TLS configuration in RocketMQ.
-## 1 Generate Certification Files
-User can generate certification files using OpenSSL. Suggested to generate
files in Linux.
+## 1 Generate Certificate Files
+Users can generate certificate files using OpenSSL. It is suggested to
generate files in Linux.
### 1.1 Generate ca.pem
```shell
@@ -107,7 +107,7 @@ Add following parameters in JVM. The value of
"tls.config.file" needs to be repl
-Dtls.client.authServer=true -Dtls.enable=true -Dtls.test.mode.enable=false
-Dtls.config.file=/opt/certs/tlsclient.properties
```
-Enable TLS for client linke following:
+Enable TLS for client like the following:
```Java
public class ExampleProducer {
public static void main(String[] args) throws Exception {
diff --git a/docs/en/Deployment.md b/docs/en/Deployment.md
index 8f5c8f1e38..47a1b0587d 100644
--- a/docs/en/Deployment.md
+++ b/docs/en/Deployment.md
@@ -4,7 +4,7 @@
### 1 Single Master mode
-This is the simplest, but also the riskiest mode, that makes the entire
service unavailable once the broker restarts or goes down. Production
environments are not recommended, but can be used for local testing and
development. Here are the steps to build.
+This is the simplest, but also the riskiest mode, that makes the entire
service unavailable once the broker restarts or goes down. Production
environments are not recommended, but it can be used for local testing and
development. Here are the steps to build.
**1)Start NameServer**
diff --git a/docs/en/Design_LoadBlancing.md b/docs/en/Design_LoadBlancing.md
index 86c47b1653..05c178464d 100644
--- a/docs/en/Design_LoadBlancing.md
+++ b/docs/en/Design_LoadBlancing.md
@@ -3,7 +3,7 @@ Load balancing in RocketMQ is accomplished on Client side.
Specifically, it can
### Producer Load Balancing
When the Producer sends a message, it will first find the specified
TopicPublishInfo according to Topic. After getting the routing information of
TopicPublishInfo, the RocketMQ client will select a queue (MessageQueue) from
the messageQueue List in TopicPublishInfo to send the message by
default.Specific fault-tolerant strategies are defined in the MQFaultStrategy
class.
-Here is a sendLatencyFaultEnable switch variable, which, if turned on, filters
out the Broker agent of not available on the basis of randomly gradually
increasing modular arithmetic selection. The so-called "latencyFault Tolerance"
refers to a certain period of time to avoid previous failures. For example, if
the latency of the last request exceeds 550 Lms, it will evade 30000 Lms; if it
exceeds 1000L, it will evade 60000L; if it is closed, it will choose a queue
(MessageQueue) to send m [...]
+Here is a sendLatencyFaultEnable switch variable, which, if turned on, filters
out the Broker agents that are not available on the basis of randomly gradually
increasing modular arithmetic selection. The so-called "latencyFault Tolerance"
refers to a certain period of time to avoid previous failures. For example, if
the latency of the last request exceeds 550 Lms, it will evade 30000 Lms; if it
exceeds 1000L, it will evade 60000L; if it is closed, it will choose a queue
(MessageQueue) to [...]
### Consumer Load Balancing
In RocketMQ, the two consumption modes (Push/Pull) on the Consumer side are
both based on the pull mode to get the message, while in the Push mode it is
only a kind of encapsulation of the pull mode, which is essentially implemented
as the message pulling thread after pulling a batch of messages from the
server. After submitting to the message consuming thread pool, it continues to
try again to pull the message to the server. If the message is not pulled, the
pull is delayed and continue [...]
diff --git a/docs/en/Design_Trancation.md b/docs/en/Design_Trancation.md
index 930697b724..287378e37a 100644
--- a/docs/en/Design_Trancation.md
+++ b/docs/en/Design_Trancation.md
@@ -22,7 +22,7 @@ The compensation phase is used to resolve the timeout or
failure case of the mes
### 1.2 The design of RocketMQ Transaction Message
1 Transaction message is invisible to users in first phase(commit-request
phase)
- Upon on the main process of transaction message, the message of first phase
is invisible to the user. This is also the biggest difference from normal
message. So how do we write the message while making it invisible to the user?
And below is the solution of RocketMQ: if the message is a Half message, the
topic and queueId of the original message will be backed up, and then changes
the topic to RMQ_SYS_TRANS_HALF_TOPIC. Since the consumer group does not
subscribe to the topic, the consu [...]
+ In the main process of transaction message, the message of first phase is
invisible to the user. This is also the biggest difference from normal message.
So how do we write the message while making it invisible to the user? And below
is the solution of RocketMQ: if the message is a Half message, the topic and
queueId of the original message will be backed up, and then changes the topic
to RMQ_SYS_TRANS_HALF_TOPIC. Since the consumer group does not subscribe to the
topic, the consumer c [...]
In RocketMQ, the storage structure of the message in the broker is as
follows. Each message has corresponding index information. The Consumer reads
the content of the message through the secondary index of the ConsumeQueue. The
flow is as follows:
diff --git a/docs/en/FAQ.md b/docs/en/FAQ.md
index dac53ecbfd..78c84fca20 100644
--- a/docs/en/FAQ.md
+++ b/docs/en/FAQ.md
@@ -8,7 +8,7 @@ The following questions are frequently asked with regard to the
RocketMQ project
Please refer to [Why RocketMQ](http://rocketmq.apache.org/docs/motivation)
-2. Do I have to install other softeware, such as zookeeper, to use RocketMQ?
+2. Do I have to install other software, such as zookeeper, to use RocketMQ?
No. RocketMQ can run independently.
@@ -24,9 +24,9 @@ The following questions are frequently asked with regard to
the RocketMQ project
### 2. How to reconsume message when consumption fails?
- 1) Cluster consumption pattern, The consumer business logic code
returns Action.ReconsumerLater, NULL, or throws an exception, if a message
failed to be consumed, it will retry for up to 16 times, after that, the
message would be descarded.
+ 1) Cluster consumption pattern, The consumer business logic code
returns Action.ReconsumerLater, NULL, or throws an exception, if a message
failed to be consumed, it will retry for up to 16 times, after that, the
message would be discarded.
- 2) Broadcast consumption patternThe broadcaset consumption still
ensures that a message is consumered at least once, but no resend option is
provided.
+ 2) Broadcast consumption pattern. The broadcast consumption still
ensures that a message is consumed at least once, but no resend option is
provided.
### 3. How to query the failed message if there is a consumption failure?
diff --git a/docs/en/Troubleshoopting.md b/docs/en/Troubleshoopting.md
index ee4adab8cf..505fde54da 100644
--- a/docs/en/Troubleshoopting.md
+++ b/docs/en/Troubleshoopting.md
@@ -10,7 +10,7 @@
Solution: Execute `export NAMESRV_ADDR=ip:9876` (ip refers to the address of
NameServer deployed in the cluster) on the VM that deploys the RocketMQ
cluster.Then you will execute commands of "mqadmin" successfully.
-## 2 The inconsistent version of RocketMQ between the producer and consumer
leads to the problem that message can't be consumed normally.
+## 2 The inconsistent version of RocketMQ between the producer and consumer
leads to the problem that messages can't be consumed normally.
> Problem: The same producer sends a message, consumer A can consume, but
> consumer B can't consume, and the RocketMQ Console appears:
>
diff --git a/docs/en/architecture.md b/docs/en/architecture.md
index 863a62200a..47cce84c2b 100644
--- a/docs/en/architecture.md
+++ b/docs/en/architecture.md
@@ -31,7 +31,7 @@ The RocketMQ architecture is divided into four parts, as
shown in the figure abo
- NameServer is an almost stateless node that can be deployed in a cluster
without any information synchronization between nodes.
-- The broker deployment is relatively complex. The Broker is divided into the
Master and the Slave. One Master can correspond to multiple Slaves. However,
one Slave can only correspond to one Master. The correspondence between the
Master and the Slave is defined by specifying the same BrokerName and different
BrokerId. The BrokerId is 0. Indicates Master, non-zero means Slave. The Master
can also deploy multiple. Each broker establishes a long connection with all
nodes in the NameServer [...]
+- The broker deployment is relatively complex. The Broker is divided into the
Master and the Slave. One Master can correspond to multiple Slaves. However,
one Slave can only correspond to one Master. The correspondence between the
Master and the Slave is defined by specifying the same BrokerName and different
BrokerId. The BrokerId 0 indicates Master, non-zero means Slave. The Master can
also deploy multiple. Each broker establishes a long connection with all nodes
in the NameServer clus [...]
- The Producer establishes a long connection with one of the nodes in the
NameServer cluster (randomly selected), periodically obtains Topic routing
information from the NameServer, and establishes a long connection to the
Master that provides the Topic service, and periodically sends a heartbeat to
the Master. Producer is completely stateless and can be deployed in a cluster.
diff --git a/docs/en/best_practice.md b/docs/en/best_practice.md
index da279e297e..5e3b853774 100755
--- a/docs/en/best_practice.md
+++ b/docs/en/best_practice.md
@@ -4,8 +4,8 @@
### 1.1 Attention of send message
#### 1 Uses of tags
-An application should use one topic as far as possible, but identify the
message's subtype with tags.Tags can be set freely by the application.
-Only when producers set tags while sending messages, can consumers to filter
messages through broker with tags when subscribing messages:
message.setTags("TagA").
+An application should use one topic as far as possible, but identify the
message's subtype with tags. Tags can be set freely by the application.
+Only when producers set tags while sending messages, can consumers filter
messages through broker with tags when subscribing messages:
message.setTags("TagA").
#### 2 Uses of keys
The unique identifier for each message at the business level set to the Keys
field to help locate message loss problems in the future.
@@ -37,23 +37,23 @@ Each state is describing below:
- **SEND_OK**
-Message send successfully.Note that even though message send successfully, but
it doesn't mean than it is reliable.
+Message send successfully. Note that even though message send successfully, it
doesn't mean that it is reliable.
To make sure nothing lost, you should also enable the SYNC_MASTER or
SYNC_FLUSH.
- **FLUSH_DISK_TIMEOUT**
-Message send successfully, but the server flush messages to disk timeout.At
this point, the message has entered the server's memory, and the message will
be lost only when the server is down.
+Message send successfully, but the server flush messages to disk timeout. At
this point, the message has entered the server's memory, and the message will
be lost only when the server is down.
Flush mode and sync flush time interval can be set in the configuration
parameters. It will return FLUSH_DISK_TIMEOUT when Broker server doesn't finish
flush message to disk in timeout(default is 5s
) when sets FlushDiskType=SYNC_FLUSH(default is async flush).
- **FLUSH_SLAVE_TIMEOUT**
-Message send successfully, but sync to slave timeout.At this point, the
message has entered the server's memory, and the message will be lost only when
the server is down.
+Message send successfully, but sync to slave timeout. At this point, the
message has entered the server's memory, and the message will be lost only when
the server is down.
It will return FLUSH_SLAVE_TIMEOUT when Broker server role is
SYNC_MASTER(default is ASYNC_MASTER),and it doesn't sync message to slave
successfully in the timeout(default 5s).
- **SLAVE_NOT_AVAILABLE**
-Message send successfully, but slave is not available.It will return
SLAVE_NOT_AVAILABLE when Broker role is SYNC_MASTER(default is ASYNC_MASTER),
and it doesn't have a slave server available.
+Message send successfully, but slave is not available. It will return
SLAVE_NOT_AVAILABLE when Broker role is SYNC_MASTER(default is ASYNC_MASTER),
and it doesn't have a slave server available.
### 1.2 Handling of message send failure
Send method of producer itself supports internal retry. The logic of retry is
as follows:
@@ -77,7 +77,7 @@ Typically, this is the process by which messages are sent:
- Client send request to server
- Server process request
- Server response to client
-So, the time taken to send a message is the sum of the three steps above.Some
scenarios require very little time, but not much reliability, such as log
collect application.
+So, the time taken to send a message is the sum of the three steps above. Some
scenarios require very little time, but not much reliability, such as log
collect application.
This type application can use oneway to send messages. Oneway only send
request without waiting for a reply, and send a request at the client
implementation level is simply the overhead of an
operating system call that writes data to the client's socket buffer, this
process that typically takes microseconds.
diff --git a/tieredstore/README.md b/tieredstore/README.md
index 41e7458a2a..6b5ecc8c8d 100644
--- a/tieredstore/README.md
+++ b/tieredstore/README.md
@@ -13,7 +13,7 @@ This article is a cookbook for RocketMQ tiered storage.
Use the following steps to easily use tiered storage
1. Change `messageStorePlugIn` to
`org.apache.rocketmq.tieredstore.TieredMessageStore` in your `broker.conf`.
-2. Configure your backend service provider. change
`tieredBackendServiceProvider` to your storage medium implement. We give a
default implement: POSIX provider, and you need to change `tieredStoreFilePath`
to the mount point of storage medium for tiered storage.
+2. Configure your backend service provider. Change
`tieredBackendServiceProvider` to your storage medium implementation. We
provide a default implementation: POSIX provider, and you need to change
`tieredStoreFilePath` to the mount point of the storage medium for tiered
storage.
3. Start the broker and enjoy!
## Configuration
@@ -21,16 +21,16 @@ Use the following steps to easily use tiered storage
The following are some core configurations, for more details, see
[TieredMessageStoreConfig](https://github.com/apache/rocketmq/blob/develop/tieredstore/src/main/java/org/apache/rocketmq/tieredstore/common/TieredMessageStoreConfig.java)
| Configuration | Default value
| Unit | Function
|
-| -------------------------------
|---------------------------------------------------------------| ----------- |
-------------------------------------------------------------------------------
|
+| -------------------------------
|---------------------------------------------------------------| -----------
|---------------------------------------------------------------------------------|
| messageStorePlugIn |
| | Set to
org.apache.rocketmq.tieredstore.TieredMessageStore to use tiered storage |
| tieredMetadataServiceProvider |
org.apache.rocketmq.tieredstore.metadata.DefaultMetadataStore | |
Select your metadata provider
|
| tieredBackendServiceProvider |
org.apache.rocketmq.tieredstore.provider.PosixFileSegment | |
Select your backend service provider
|
-| tieredStoreFilePath |
| | Select the directory using for tiered
storage, only for POSIX provider. |
+| tieredStoreFilePath |
| | Select the directory used for tiered
storage, only for POSIX provider. |
| tieredStorageLevel | NOT_IN_DISK
| | The options are DISABLE, NOT_IN_DISK,
NOT_IN_MEM, FORCE |
| tieredStoreFileReservedTime | 72
| hour | Default topic TTL in tiered storage
|
| tieredStoreGroupCommitCount | 2500
| | The number of messages that trigger one
batch transfer |
| tieredStoreGroupCommitSize | 33554432
| byte | The size of messages that trigger one batch
transfer, 32M by default |
-| tieredStoreMaxGroupCommitCount | 10000
| | The maximum number of messages waiting to be
transfered per queue |
+| tieredStoreMaxGroupCommitCount | 10000
| | The maximum number of messages waiting to be
transferred per queue |
| readAheadCacheExpireDuration | 1000
| millisecond | Read-ahead cache expiration time
|
| readAheadCacheSizeThresholdRate | 0.3
| | The maximum heap space occupied by the
read-ahead cache |
@@ -61,4 +61,4 @@ We need community participation to add more backend service
providers for tiered
1. Extend
[FileSegment](https://github.com/apache/rocketmq/blob/develop/tieredstore/src/main/java/org/apache/rocketmq/tieredstore/provider/FileSegment.java)
and implement the methods of
[FileSegmentProvider](https://github.com/apache/rocketmq/blob/develop/tieredstore/src/main/java/org/apache/rocketmq/tieredstore/provider/FileSegmentProvider.java)
interface.
2. Record metrics where appropriate. See
`rocketmq_tiered_store_provider_rpc_latency`,
`rocketmq_tiered_store_provider_upload_bytes`, and
`rocketmq_tiered_store_provider_download_bytes`
-3. No need to maintain your own cache and avoid polluting the page cache. It
is already having the read-ahead cache.
+3. No need to maintain your own cache and avoid polluting the page cache. It
already has the read-ahead cache.