This is an automated email from the ASF dual-hosted git repository. jimin pushed a commit to branch docusaurus in repository https://gitbox.apache.org/repos/asf/incubator-seata-website.git
The following commit(s) were added to refs/heads/docusaurus by this push:
new 6f8fb04281c optimize: optimize configurations (#1024)
6f8fb04281c is described below
commit 6f8fb04281c5b85a017b0669b7591d678c6a0f61
Author: jimin <[email protected]>
AuthorDate: Mon Oct 6 00:42:34 2025 +0800
optimize: optimize configurations (#1024)
Signed-off-by: slievrly <[email protected]>
---
.../current/user/configurations.md | 339 ++++++++++++---------
.../current/user/configurations.md | 7 +-
2 files changed, 194 insertions(+), 152 deletions(-)
diff --git
a/i18n/en/docusaurus-plugin-content-docs/current/user/configurations.md
b/i18n/en/docusaurus-plugin-content-docs/current/user/configurations.md
index d0a6014abab..01a1075402b 100644
--- a/i18n/en/docusaurus-plugin-content-docs/current/user/configurations.md
+++ b/i18n/en/docusaurus-plugin-content-docs/current/user/configurations.md
@@ -1,6 +1,6 @@
---
title: Seata Parameter Configuration
-keywords: [Seata]
+keywords: [ Seata ]
description: Seata parameter configuration.
---
@@ -53,7 +53,7 @@
transport.enable-client-batch-send-request、client.log.exceptionRate
## Attention attribute (see all attributes for detailed description)
| Server side | client
side |
-| ---------------------------------------------------------------- |
------------------------------------------ |
+|------------------------------------------------------------------|--------------------------------------------|
| registry.type |
registry.type |
| config.type |
config.type |
| #store.mode=db requires the following configuration |
service.vgroupMapping.my* test* tx\_ group |
@@ -71,125 +71,131 @@
transport.enable-client-batch-send-request、client.log.exceptionRate
| server.raft.server-addr |
|
| server.raft.snapshot-interval |
|
-## All attributes
-
-### Public sector
-
-| key | desc
| remark
[...]
-| ----------------------------------------- |
-------------------------------------------------------------------------------------
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[...]
-| transport.type | Socket communication mode
| TCP, UNIX* DOMAIN*
SOCKET, default TCP
[...]
-| transport.server | socket channel type
| NIO, NATIVE (select
KQueue or Epoll according to the operating system type and socket communication
mode. Note that Windows only supports NIO, and NATIVE mode will throw an
exception)
[...]
-| transport.enableTmClientBatchSendRequest | TM Batch Send Request Message
Switch | Default false
[...]
-| transport.enableRmClientBatchSendRequest | RM Batch Send Request Message
Switch | Default true
[...]
-| transport.enableTcServerBatchSendResponse | TC Batch Send Reply Message
Switch | Default false
[...]
-| transport.rpcRmRequestTimeout | RM sending request timeout
| 15 seconds by default
[...]
-| transport.rpcTmRequestTimeout | TM sending request timeout
| 30 seconds by default
[...]
-| transport.rpcTcRequestTimeout | TC sending request timeout
| 15 seconds by default
[...]
-| transport.threadFactory. bossThreadSize | Netty communication model Boss
group threads | Default 1
[...]
-| transport.threadFactory. workerThreadSize | Netty communication model Worker
group threads | The number of threads
can be configured or the number of threads in a specific thread working mode
can be selected. There are four default working modes of threads: Auto (2 _ CPU
cores+1), Pin (CPU cores, applicable to computing intensive tasks), BusyPin
(CPU cores+1, applicable to computing intensive and memory limited scenarios)
Default (2 _ CPU cores, a [...]
-| transport.shutdown. wait | Time to wait for service offline
before the Netty thread pool on the server is closed | 3 seconds by default
[...]
-| transport.serialization | Client and server communication
codec method | seata (ByteBuf),
protobuf, kryo, hessian, default seata
[...]
-| transport.compressor | Compression method of
communication data between client and server | none, gzip,
zip, sevenz, bzip2, lz4, deflater, zstd, default none
[...]
-| transport.heartbeat | The heartbeat detection switch
for client server communication | The default value is
true
[...]
-| Registry.type | Registry type
| Default file, supports
file, nacos, redis, eureka, zk, consumer, etcd3, sofa, and custom
[...]
-| Config.type | Configuration center type
| default file, supporting
file, nacos, apollo, zk, consult, etcd3, springcloud, custom
[...]
+## All configurations
+
+### Common sector(Both the client and the server need it)
+
+| key | desc | remark | change record |
+|-----|------|--------|---------------|
+
+| transport.threadFactory.bossThreadSize | Netty communication model Boss
group threads | Default 1 |
+| transport.threadFactory.workerThreadSize | Netty communication model Worker
group threads | The number of threads can
+be configured or the number of threads in a specific thread working mode can
be selected. There are four default working
+modes of threads: Auto (2 _ CPU cores+1), Pin (CPU cores, applicable to
computing intensive tasks), BusyPin (CPU
+cores+1, applicable to computing intensive and memory limited scenarios)
Default (2 _ CPU cores, applicable to IO
+intensive tasks), the default value is Default mode |
+| transport.shutdown. wait | Time to wait for service offline before the Netty
thread pool on the server is closed | 3
+seconds by default |
+| transport.serialization | Client and server communication codec method |
seata (ByteBuf), protobuf, kryo, hessian,
+default seata |
+| transport.compressor | Compression method of communication data between
client and server | none, gzip, zip, sevenz,
+bzip2, lz4, deflater, zstd, default none | Before 1.2.0: gzip<br/>1.2.0: zip,
7z, bzip2<br/>1.3.0: lz4<br/>1.4.1:
+deflater <br/> 1.5.1: zstd |
+| transport.heartbeat | The heartbeat detection switch for client server
communication | The default value is true |
+| Registry.type | Registry type | Default file, supports file, nacos, redis,
eureka, zk, consumer, etcd3, sofa, and
+custom | 1.6.0 Server supports simultaneous registration to multiple
registries, separating registry names with commas |
+| Config.type | Configuration center type | default file, supporting file,
nacos, apollo, zk, consult, etcd3,
+springcloud, custom |
### Server side
-| key | desc
| remark
[...]
-| ------------------------------------------
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[...]
-| server.undo.logSaveDays | undo retention days
| 7 days
by default, log\_ Status=1 (Appendix 3) and undo not normally cleaned
[...]
-| server.undo.logDeletePeriod | undo Cleanup Thread Interval
|
86,400,000 by default, in milliseconds
[...]
-| server.maxCommitRetryTimeout | Timeout duration of two-phase
commit retry
| Unit:
ms, s, m, h, d, corresponding to ms, s, min, h, day, default ms. The default
value of - 1 means unlimited retries. Formula: timeout>=now
globalTransactionBeginTime, true means no more retries after timeout (Note: no
retries will be made after the timeout [...]
-| server.maxRollbackRetryTimeout | Phase2 rollback retry timeout
duration
| Same
as commit
[...]
-| server.recovery.committingRetryPeriod | Phase2 commit unfinished status
Global transaction retry commit thread interval. A single server scope isn't
global. | 1000
by default, in milliseconds
[...]
-| server.recovery.asyncCommittingRetryPeriod | Phase2 asynchronous submission
status Retry submission thread interval.A single server scope isn't global.
| 1000
by default, in milliseconds
[...]
-| server.recovery.rollbackRetryPeriod | Phase2 rollback status Retry
rollback thread interval.A single server scope isn't global.
| 1000
by default, in milliseconds
[...]
-| server.recovery.timeoutRetryPeriod | Timeout status detection retry
thread interval. A single server scope isn't global.
| 1000
by default, in milliseconds. If timeout is detected, put the global transaction
into the rollback session manager
[...]
-| server.rollbackRetryTimeoutUnlockEnable | Whether to release the lock
after the two-phase rollback timeout
|
False by default
[...]
-| server.distributedLockExpireTime | Server side transaction
management global lock timeout
|
10000 by default, in milliseconds
[...]
-| server.server.xaerNotaRetryTimeout | Retry timeout to prevent XA
branch transactions from hanging
|
60000 by default, in milliseconds
[...]
-| server.session.branchAsyncQueueSize | Branch transaction session
asynchronously deletes the thread pool queue size
|
5000 by default
[...]
-| server.session.enableBranchAsyncRemove | Asynchronous deletion switch of
branch transaction session
| Default
false
[...]
-| server.enableParallelRequestHandle | Parallel processing switch for
batch request messages
|
Default false
[...]
-| server.enableParallelHandleBranch | Two-phase Parallel Deployment
Switch
| false
[...]
-| server.raft.group | In the Raft storage mode, the
transaction group corresponding to the group and client should be matched with
the value. For example, service.vgroup-mapping.default_tx_group=default. | New
in 2.0.0 version
[...]
-| server.raft.server-addr | The Raft cluster list is as
follows: 192.168.0.111:9091, 192.168.0.112:9091, 192.168.0.113:9091
|
[...]
-| server.raft.snapshot-interval | How often to take a memory
snapshot? The state machine is paused every time a snapshot is taken, but this
can improve recovery speed when stopping |
Default 600 seconds
[...]
-| server.raft.apply-batch | Accumulate batches of tasks and
submit them to the leader.
| 32
[...]
-| server.raft.max-append-bufferSize | Maximum size of the Raft log
storage buffer
|
262144
[...]
-| server.raft.max-replicator-inflight-msgs | The maximum number of in-flight
requests when pipeline requests are enabled
| 256
[...]
-| server.raft.disruptor-buffer-size | The size of the internal
disruptor buffer may need to be increased appropriately in scenarios with high
write throughput |
16384
[...]
-| server.raft.election-timeout-ms | How long does it take to start
a new election when there is no leader heartbeat for a long time
| 1000
[...]
-| server.raft.reporter-enabled | Raft monitor enable
| false
[...]
-| server.raft.reporter-initial-delay | Monitor output interval
| 60
[...]
-| server.raft.serialization | raft log serialization type
| jackson
[...]
-| server.raft.compressor | The compression methods
supported for Raft log and snapshot are gzip, zstd, and lz4
|
none
[...]
-| server.raft.sync | Synchronous flushing of Raft
log to disk
| true
[...]
-| server.applicationDataLimitCheck | enable checking of received
client data
|
Default false
[...]
-| server.applicationDataLimit | limit of receiving client
application data
|
Default 64000
[...]
-| store.mode | Transaction session information
storage mode
| file
Local file (HA is not supported), db database, redis, raft (HA is supported)
[...]
-| store.lock.mode | Transaction lock information
storage method
| file
Local file (HA is not supported), db database, Redis (HA is supported); When
the configuration is empty, take the store Mode configuration item value. It is
not allowed to specify separately in Raft mode
[...]
-| store.session.mode | Transaction echo information
storage method
| file
Local file (HA is not supported), db database, Redis (HA is supported); When
the configuration is empty, take the store Mode configuration item value. It is
not allowed to specify separately in Raft mode
[...]
-| store.publicKey | Public key for storing and
decrypting passwords in db or Redis
|
[...]
-| store.file.dir | file mode file storage folder
name
|
default sessionStore
[...]
-| store.file.maxBranchSessionSize | File mode file storage branch
session maximum bytes
| 16384
(16kb) by default, in bytes
[...]
-| store.file.maxGlobalSessionSize | File mode file stores the
maximum number of global session bytes
|
512b by default, in bytes
[...]
-| store.file.fileWriteBufferCacheSize | File mode file storage buffer
maximum cache size
| 16384
(16kb) by default, in bytes. When the amount of data such as session written is
greater than this value, an exception will be thrown
[...]
-| store.file.flushDiskMode | file mode file storage flushing
policy
| default
async, optional sync
[...]
-| store.file.sessionReloadReadSize | File mode File storage The
maximum number of session or lock keys recovered from the backup file after the
server node restarts |
100 by default
[...]
-| store.db.datasource | db mode data source type
| dbcp,
druid, hikari; No default value, store Must be specified when mode=db
[...]
-| store.db.dbType | db mode database type
| mysql,
oracle, db2, sqlserver, sybaee, h2, sqlite, access, postgresql, oceanbase; No
default value, store Mode=db must be specified
[...]
-| store.db.driverClassName | db mode database driver
| store
Must be specified when mode=db
[...]
-| store.db.url | db mode database url
| store
When mode=db, it must be specified. When using MySQL as the data source, it is
recommended to add 'rewriteBatchedStatements=true' to the connection parameters
(see Appendix 7 for detailed reasons)
[...]
-| store.db.user | db mode database account
| store
Must be specified when mode=db
[...]
-| store.db.password | db mode database account
password
|
store Must be specified when mode=db
[...]
-| store.db.minConn | initial connections of db mode
database
| 1 by
default
[...]
-| store.db.maxConn | maximum number of connections
to database in db mode
| 20 by
default
[...]
-| store.db.maxWait | the maximum waiting time for db
mode to obtain a connection
| 5000 by
default, in milliseconds
[...]
-| store.db.globalTable | db mode global transaction
table name
|
default global\_ table
[...]
-| store.db.branchTable | db mode branch transaction
table name
|
default branch\_ table
[...]
-| store.db.LockTable | db mode global lock table name
| default
lock\_ table
[...]
-| store.db.queryLimit | the maximum number of global
transactions queried in db mode at one time
| 100
by default
[...]
-| store.db.distributedLockTable | db mode Sever side transaction
management global lock storage table name
|
default distributed\_ Lock. Under multiple server clusters, only one server is
guaranteed to handle the submission or rollback at the same time
[...]
-| store.db.druid.time-between-eviction-runs-millis | Druid's
config time-between-eviction-runs-millis
| 120000 by default
[...]
-| store.db.druid.min-evictable-idle-time-millis | Druid's config
min-evictable-idle-time-millis
| 300000 by default
[...]
-| store.db.druid.test-while-idle | Druid's config test-while-idle
| true
by default
[...]
-| store.db.druid.test-on-borrow | Druid's config test-on-borrow
| false
by default
[...]
-| store.db.druid.keep-alive | Druid's config keep-alive
| false by
default
[...]
-| store.db.hikari.idle-timeout | Hikari's config idle-timeout
| 600000
by default
[...]
-| store.db.hikari.keepalive-time | Hikari's config keepalive-time
| 120000
by default
[...]
-| store.db.hikari.max-lifetime | Hikari's config max-lifetime
| 1800000
by default
[...]
-| store.db.hikari.validation-timeout | Hikari's config
validation-timeout
| 5000 by default
[...]
-| store.db.dbcp.time-between-eviction-runs-millis | Dbcp's config
time-between-eviction-runs-millis
| 120000 by default
[...]
-| store.db.dbcp.min-evictable-idle-time-millis | Dbcp's config
min-evictable-idle-time-millis
| 300000 by default
[...]
-| store.db.dbcp.test-while-idle | Dbcp's config test-while-idle
| true by
default
[...]
-| store.db.dbcp.test-on-borrow | Dbcp's config test-on-borrow
| false by
default
[...]
-| store.redis.mode | redis mode
| default
single, optional sentinel
[...]
-| store.redis.single.host | The Redis host in stand-alone
mode is compatible with versions earlier than 1.4.2. If this configuration is
empty, select store.redis Host as a configuration item | New
in 1.4.2
[...]
-| store.redis.single.port | The port of Redis in
stand-alone mode is compatible with versions earlier than 1.4.2. If this
configuration is empty, select store.redis Port as a configuration item
| New in 1.4.2
[...]
-| store.redis.sentinel.masterName | Redis master database name in
sentinel mode
|
[...]
-| store.redis.sentinel.sentinelHosts | sentinel hosts in sentinel mode
|
Multiple hosts are separated by commas
[...]
-| store.redis.host | redis mode IP
| Default
127.0.0.1
[...]
-| store.redis.port | redis mode port
| 6379 by
default
[...]
-| store.redis.maxConn | maximum connections in Redis
mode
| 10
by default
[...]
-| store.redis.minConn | minimum connections in Redis
mode
| 1 by
default
[...]
-| store.redis.database | redis mode default library
| default
0
[...]
-| store.redis.password | redis mode password (optional)
| null by
default
[...]
-| store.redis.queryLimit | The maximum number of Redis
queries at a time
| 100
by default
[...]
-| store.redis.type | Redis operation type: lua,
pippline
|
pippline
[...]
-| metrics.enabled | Whether to enable Metrics
| True is
on by default. In the false state, all Metrics related components will not be
initialized to minimize the performance loss
[...]
-| metrics.registryType | Indicator registrar type
| The
indicator registrar type used by Metrics is a built-in compact (simple)
implementation by default. Meters in this implementation only use a limited
memory count, and the performance is high enough to meet most scenarios;
Currently, only one indicator regist [...]
-| metrics.exporterList | Index result Measurement data
outputter list
|
default prometheus. Multiple outputters are separated by English commas, such
as "prometheus, jmx". Currently, only the prometheus outputters are connected
[...]
-| metrics.exporterPrometheusPort | prometheus exporter client port
number
| 9898 by
default
[...]
-| ratelimit.enable | Whether to enable single-point
current limiting on the server side. Currently, only the token bucket algorithm
is supported, and current limiting is performed directly when the global
transaction starts requesting. | Default is false (support hot configuration)
[...]
-| ratelimit.bucketTokenNumPerSecond | The number of tokens generated
per second
| Default is 999999 (support hot configuration)
[...]
-| ratelimit.bucketTokenMaxNum | Maximum number of tokens in the
token bucket
| Default is 999999 (support hot configuration)
[...]
-| ratelimit.bucketTokenInitialNum | The number of tokens
initialized in the token bucket
| Default is 999999 (support hot
configuration)
[...]
+| key | desc
| remark
[...]
+|--------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[...]
+| server.undo.logSaveDays | undo retention days
| 7 days by default, log\_ Status=1 (Appendix 3)
and undo not normally cleaned
[...]
+| server.undo.logDeletePeriod | undo Cleanup Thread
Interval
| 86,400,000 by default, in milliseconds
[...]
+| server.maxCommitRetryTimeout | Timeout duration of
two-phase commit retry
| Unit: ms, s, m, h, d, corresponding to ms,
s, min, h, day, default ms. The default value of - 1 means unlimited retries.
Formula: timeout>=now globalTransactionBeginTime, true means no more retries
after timeout (Note: no [...]
+| server.maxRollbackRetryTimeout | Phase2 rollback retry
timeout duration
| Same as commit
[...]
+| server.recovery.committingRetryPeriod | Phase2 commit unfinished
status Global transaction retry commit thread interval. A single server scope
isn't global.
| 1000 by default, in milliseconds
[...]
+| server.recovery.asyncCommittingRetryPeriod | Phase2 asynchronous
submission status Retry submission thread interval.A single server scope isn't
global.
| 1000 by default, in milliseconds
[...]
+| server.recovery.rollbackRetryPeriod | Phase2 rollback status
Retry rollback thread interval.A single server scope isn't global.
| 1000 by default, in milliseconds
[...]
+| server.recovery.timeoutRetryPeriod | Timeout status detection
retry thread interval. A single server scope isn't global.
| 1000 by default, in milliseconds. If timeout is
detected, put the global transaction into the rollback session manager
[...]
+| server.rollbackRetryTimeoutUnlockEnable | Whether to release the
lock after the two-phase rollback timeout
| False by default
[...]
+| server.distributedLockExpireTime | Server side transaction
management global lock timeout
| 10000 by default, in milliseconds
[...]
+| server.server.xaerNotaRetryTimeout | Retry timeout to prevent
XA branch transactions from hanging
| 60000 by default, in milliseconds
[...]
+| server.session.branchAsyncQueueSize | Branch transaction
session asynchronously deletes the thread pool queue size
| 5000 by default
[...]
+| server.session.enableBranchAsyncRemove | Asynchronous deletion
switch of branch transaction session
| Default false
[...]
+| server.enableParallelRequestHandle | Parallel processing
switch for batch request messages
| Default false
[...]
+| server.enableParallelHandleBranch | Two-phase Parallel
Deployment Switch
| false
[...]
+| server.raft.group | In the Raft storage mode,
the transaction group corresponding to the group and client should be matched
with the value. For example, service.vgroup-mapping.default_tx_group=default.
| New in 2.0.0 version
[...]
+| server.raft.server-addr | The Raft cluster list is
as follows: 192.168.0.111:9091, 192.168.0.112:9091, 192.168.0.113:9091
|
[...]
+| server.raft.snapshot-interval | How often to take a
memory snapshot? The state machine is paused every time a snapshot is taken,
but this can improve recovery speed when stopping
| Default 600 seconds
[...]
+| server.raft.apply-batch | Accumulate batches of
tasks and submit them to the leader.
| 32
[...]
+| server.raft.max-append-bufferSize | Maximum size of the Raft
log storage buffer
| 262144
[...]
+| server.raft.max-replicator-inflight-msgs | The maximum number of
in-flight requests when pipeline requests are enabled
| 256
[...]
+| server.raft.disruptor-buffer-size | The size of the internal
disruptor buffer may need to be increased appropriately in scenarios with high
write throughput
| 16384
[...]
+| server.raft.election-timeout-ms | How long does it take to
start a new election when there is no leader heartbeat for a long time
| 1000
[...]
+| server.raft.reporter-enabled | Raft monitor enable
| false
[...]
+| server.raft.reporter-initial-delay | Monitor output interval
| 60
[...]
+| server.raft.serialization | raft log serialization
type
| jackson
[...]
+| server.raft.compressor | The compression methods
supported for Raft log and snapshot are gzip, zstd, and lz4
| none
[...]
+| server.raft.sync | Synchronous flushing of
Raft log to disk
| true
[...]
+| server.applicationDataLimitCheck | enable checking of
received client data
| Default false
[...]
+| server.applicationDataLimit | limit of receiving client
application data
| Default 64000
[...]
+| store.mode | Transaction session
information storage mode
| file Local file (HA is not supported), db
database, redis, raft (HA is supported)
[...]
+| store.lock.mode | Transaction lock
information storage method
| file Local file (HA is not supported),
db database, Redis (HA is supported); When the configuration is empty, take the
store Mode configuration item value. It is not allowed to specify separately in
Raft mode [...]
+| store.session.mode | Transaction echo
information storage method
| file Local file (HA is not supported),
db database, Redis (HA is supported); When the configuration is empty, take the
store Mode configuration item value. It is not allowed to specify separately in
Raft mode [...]
+| store.publicKey | Public key for storing
and decrypting passwords in db or Redis
|
[...]
+| store.file.dir | file mode file storage
folder name
| default sessionStore
[...]
+| store.file.maxBranchSessionSize | File mode file storage
branch session maximum bytes
| 16384 (16kb) by default, in bytes
[...]
+| store.file.maxGlobalSessionSize | File mode file stores the
maximum number of global session bytes
| 512b by default, in bytes
[...]
+| store.file.fileWriteBufferCacheSize | File mode file storage
buffer maximum cache size
| 16384 (16kb) by default, in bytes. When the
amount of data such as session written is greater than this value, an exception
will be thrown
[...]
+| store.file.flushDiskMode | file mode file storage
flushing policy
| default async, optional sync
[...]
+| store.file.sessionReloadReadSize | File mode File storage
The maximum number of session or lock keys recovered from the backup file after
the server node restarts
| 100 by default
[...]
+| store.db.datasource | db mode data source type
| dbcp, druid, hikari; No default value, store
Must be specified when mode=db
[...]
+| store.db.dbType | db mode database type
| mysql, oracle, db2, sqlserver, sybaee, h2,
sqlite, access, postgresql, oceanbase; No default value, store Mode=db must be
specified
[...]
+| store.db.driverClassName | db mode database driver
| store Must be specified when mode=db
[...]
+| store.db.url | db mode database url
| store When mode=db, it must be specified. When
using MySQL as the data source, it is recommended to add
'rewriteBatchedStatements=true' to the connection parameters (see Appendix 7
for detailed reasons) [...]
+| store.db.user | db mode database account
| store Must be specified when mode=db
[...]
+| store.db.password | db mode database account
password
| store Must be specified when mode=db
[...]
+| store.db.minConn | initial connections of db
mode database
| 1 by default
[...]
+| store.db.maxConn | maximum number of
connections to database in db mode
| 20 by default
[...]
+| store.db.maxWait | the maximum waiting time
for db mode to obtain a connection
| 5000 by default, in milliseconds
[...]
+| store.db.globalTable | db mode global
transaction table name
| default global\_ table
[...]
+| store.db.branchTable | db mode branch
transaction table name
| default branch\_ table
[...]
+| store.db.LockTable | db mode global lock table
name
| default lock\_ table
[...]
+| store.db.queryLimit | the maximum number of
global transactions queried in db mode at one time
| 100 by default
[...]
+| store.db.distributedLockTable | db mode Sever side
transaction management global lock storage table name
| default distributed\_ Lock. Under
multiple server clusters, only one server is guaranteed to handle the
submission or rollback at the same time
[...]
+| store.db.druid.time-between-eviction-runs-millis | Druid's config
time-between-eviction-runs-millis
| 120000 by default
[...]
+| store.db.druid.min-evictable-idle-time-millis | Druid's config
min-evictable-idle-time-millis
| 300000 by default
[...]
+| store.db.druid.test-while-idle | Druid's config
test-while-idle
| true by default
[...]
+| store.db.druid.test-on-borrow | Druid's config
test-on-borrow
| false by default
[...]
+| store.db.druid.keep-alive | Druid's config keep-alive
| false by default
[...]
+| store.db.hikari.idle-timeout | Hikari's config
idle-timeout
| 600000 by default
[...]
+| store.db.hikari.keepalive-time | Hikari's config
keepalive-time
| 120000 by default
[...]
+| store.db.hikari.max-lifetime | Hikari's config
max-lifetime
| 1800000 by default
[...]
+| store.db.hikari.validation-timeout | Hikari's config
validation-timeout
| 5000 by default
[...]
+| store.db.dbcp.time-between-eviction-runs-millis | Dbcp's config
time-between-eviction-runs-millis
| 120000 by default
[...]
+| store.db.dbcp.min-evictable-idle-time-millis | Dbcp's config
min-evictable-idle-time-millis
| 300000 by default
[...]
+| store.db.dbcp.test-while-idle | Dbcp's config
test-while-idle
| true by default
[...]
+| store.db.dbcp.test-on-borrow | Dbcp's config
test-on-borrow
| false by default
[...]
+| store.redis.mode | redis mode
| default single, optional sentinel
[...]
+| store.redis.single.host | The Redis host in
stand-alone mode is compatible with versions earlier than 1.4.2. If this
configuration is empty, select store.redis Host as a configuration item
| New in 1.4.2
[...]
+| store.redis.single.port | The port of Redis in
stand-alone mode is compatible with versions earlier than 1.4.2. If this
configuration is empty, select store.redis Port as a configuration item
| New in 1.4.2
[...]
+| store.redis.sentinel.masterName | Redis master database
name in sentinel mode
|
[...]
+| store.redis.sentinel.sentinelHosts | sentinel hosts in
sentinel mode
| Multiple hosts are separated by commas
[...]
+| store.redis.host | redis mode IP
| Default 127.0.0.1
[...]
+| store.redis.port | redis mode port
| 6379 by default
[...]
+| store.redis.maxConn | maximum connections in
Redis mode
| 10 by default
[...]
+| store.redis.minConn | minimum connections in
Redis mode
| 1 by default
[...]
+| store.redis.database | redis mode default
library
| default 0
[...]
+| store.redis.password | redis mode password
(optional)
| null by default
[...]
+| store.redis.queryLimit | The maximum number of
Redis queries at a time
| 100 by default
[...]
+| store.redis.type | Redis operation type:
lua, pippline
| pippline
[...]
+| metrics.enabled | Whether to enable Metrics
| True is on by default. In the false state, all
Metrics related components will not be initialized to minimize the performance
loss
[...]
+| metrics.registryType | Indicator registrar type
| The indicator registrar type used by Metrics is
a built-in compact (simple) implementation by default. Meters in this
implementation only use a limited memory count, and the performance is high
enough to meet most scenario [...]
+| metrics.exporterList | Index result Measurement
data outputter list
| default prometheus. Multiple outputters are
separated by English commas, such as "prometheus, jmx". Currently, only the
prometheus outputters are connected
[...]
+| metrics.exporterPrometheusPort | prometheus exporter
client port number
| 9898 by default
[...]
+| ratelimit.enable | Whether to enable
single-point current limiting on the server side. Currently, only the token
bucket algorithm is supported, and current limiting is performed directly when
the global transaction starts requesting. | Default is false (support hot
configuration)
[...]
+| ratelimit.bucketTokenNumPerSecond | The number of tokens
generated per second
| Default is 999999 (support hot
configuration)
[...]
+| ratelimit.bucketTokenMaxNum | Maximum number of tokens
in the token bucket
| Default is 999999 (support hot configuration)
[...]
+| ratelimit.bucketTokenInitialNum | The number of tokens
initialized in the token bucket
| Default is 999999 (support hot
configuration)
[...]
+| transport.enableTcServerBatchSendResponse | TC Batch Send Reply
Message Switch
| Default false
[...]
+| transport.rpcTcRequestTimeout | TC sending request timeout | 15 seconds by
default | new in 1.5.1 version |
+
### Client side
-| key | desc
| remark
| change
record |
-| -------------------------------------------------- |
-------------------------------------------------------------------------------------------
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
------------- |
+| key | desc
| remark
| change
record |
+|----------------------------------------------------|---------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------|
| seata.enabled | whether to enable
spring boot automatic assembly |
true, false, (SSBS) special configuration, default true (Appendix 4)
|
| seata.enableAutoDataSourceProxy=true | whether to enable
automatic proxy of data source |
True, false, data spring boot starter (SSBS) is a special configuration. SSBS
will enable automatic proxy of data source by default and can be closed through
this configuration item
|
| seata.useJdkProxy=false | whether to use JDK
proxy as the implementation method of data source automatic proxy |
true, false, (SSBS) proprietary configuration, false by default, CGLIB as the
implementation method of data source automatic proxy
|
@@ -198,6 +204,8 @@
transport.enable-client-batch-send-request、client.log.exceptionRate
| transport.enableRmClientChannelCheckFailFast | RM client channel check
fail fast | The
default is true. true is check, false is not check
|
| transport.enableTmClientBatchSendRequest | TM Batch Send Request
Message Switch | Default
false
| new in
1.5.1 version |
| transport.enableRmClientBatchSendRequest | RM Batch Send Request
Message Switch | Default
true
| new in
1.5.1 version |
+| transport.rpcRmRequestTimeout | RM sending request
timeout | 15
seconds by default
| new
in 1.5.1 version |
+| transport.rpcTmRequestTimeout | TM sending request
timeout | 30
seconds by default
| new
in 1.5.1 version |
| client.log.exceptionRate | log exception output
probability | 100 by
default, currently used for exception stack output in case of undo rollback
failure, 1% probability output, rollback failure is basically dirty data, no
need to output stack to occupy hard disk space
|
| service.vgroupMapping.my_test_tx_Group | transaction group
(Appendix 1) | my*
test* tx\_ Group refers to grouping, and the configuration item value is TC
cluster name
|
| service.default.grouplist | TC service list
(Appendix 2) |
Only used when the registry is file
|
@@ -210,26 +218,26 @@
transport.enable-client-batch-send-request、client.log.exceptionRate
| client.rm.lock.retryInterval | retry interval for
verifying or occupying the global lock | 10
by default, in milliseconds
|
| client.rm.lock.retryTimes | number of retries to
verify or occupy the global lock | 30 by
default
|
| client.rm.lock.retryPolicyBranchRollbackOnConflict | the lock policy when a
branch transaction conflicts with other global rollback transactions | The
default is true. Release the local lock first to allow rollback to succeed
|
-| client.rm.reportRetryCount | the number of TC
retries for reporting the results in the first phase | 5
by default
| New
in 1.4.1 |
-| client.rm.tableMetaCheckEnable | automatically refresh
the table structure in the cache | Default
false
| New in
1.5.1 |
+| client.rm.reportRetryCount | the number of TC
retries for reporting the results in the first phase | 5
by default
| New
in 1.4.1 |
+| client.rm.tableMetaCheckEnable | automatically refresh
the table structure in the cache | Default
false
| New in
1.5.1 |
| client.rm.tableMetaCheckerInterval | interval between
scheduled refreshing of table structures in cache | 60
seconds by default
|
| client.rm.sagaBranchRegisterEnable | whether to enable saga
branch registration | In Saga
mode, the branch state is stored in the local database of the state machine and
can be submitted or rolled back through the state machine. To improve
performance, you can consider not registering Saga branches with the TC, but
you need to consider the availability of the state machine. The default is
false |
-| client.rm.sagaJsonParser | data serialization
method in saga mode |
Fastjson by default, jackson by choice
|
New in 1.5.1 |
-| client.rm.tccActionInterceptorOrder | tcc interceptor order
| default
Ordered HIGHEST\_ PRECEDENCE+1000 ensures that the interceptor is executed
before the local transaction interceptor. You can also customize the execution
order of the interceptor for tcc and business development
| New
in 1.5.1 |
+| client.rm.sagaJsonParser | data serialization
method in saga mode |
Fastjson by default, jackson by choice
|
New in 1.5.1 |
+| client.rm.tccActionInterceptorOrder | tcc interceptor order
| default
Ordered HIGHEST\_ PRECEDENCE+1000 ensures that the interceptor is executed
before the local transaction interceptor. You can also customize the execution
order of the interceptor for tcc and business development
| New
in 1.5.1 |
| client.rm.sqlParserType | sql resolution type
| default
druid, optional antlr
|
| client.rm.applicationDataLimitCheck | enable checking of
client data |
Default false
|
| client.rm.applicationDataLimit | limit of client
application data |
Default 64000
|
| client.tm.commitRetryCount | the number of TC
retries for reporting the results of the first phase global submission | 1
by default, it is recommended to be greater than 1
|
| client.tm.rollbackRetryCount | the number of TC
retries reported for the global rollback results in the first phase | 1
by default, it is recommended to be greater than 1
|
-| client.tm.defaultGlobalTransactionTimeout | global transaction
timeout | The
default is 60 seconds. After TM detects a branch transaction timeout or TC
detects that TM has not made a two-phase report timeout, it initiates a
rollback of the branch transaction
| New in 1.4.0 |
-| client.tm.interceptorOrder | TM global transaction
interceptor order | Ordered
by default HIGHEST\_ PRECEDENCE+1000 ensures that the interceptor is executed
before the local transaction interceptor. You can also customize the execution
order of the interceptor for global transactions and business development
| New in
1.5.1 |
+| client.tm.defaultGlobalTransactionTimeout | global transaction
timeout | The
default is 60 seconds. After TM detects a branch transaction timeout or TC
detects that TM has not made a two-phase report timeout, it initiates a
rollback of the branch transaction
| New in 1.4.0 |
+| client.tm.interceptorOrder | TM global transaction
interceptor order | Ordered
by default HIGHEST\_ PRECEDENCE+1000 ensures that the interceptor is executed
before the local transaction interceptor. You can also customize the execution
order of the interceptor for global transactions and business development
| New in
1.5.1 |
| client.undo.dataValidation | Phase2 rollback image
verification | By
default, true is enabled and false is disabled
|
-| client.undo.logSerialization | undo serialization
method |
default jackson,Optional fastjson、protostuff、kryo、fastjson2
[...]
+| client.undo.logSerialization | undo serialization
method |
default jackson,Optional fastjson、protostuff、kryo、fastjson2
|
| client.undo.logTable | user defined undo table
name | Default
undo\_ log
|
| client.undo.onlyCareUpdateColumns | only images of updated
columns are generated | Default
true
|
-| client.undo.compress.enable | undo log compression
switch |
default true
|
New in 1.4.1 |
-| client.undo.compress.type | undo log compression
algorithm |
Default zip. Options include NONE, GZIP, ZIP, SEVENZ, BZIP2, LZ4, DEFLATER, and
ZSTD
|
New in 1.4.1 |
-| client.undo.compress.threshold | undo log compression
threshold | The
default value is 64k. Compression occurs when the compression switch is on and
the undo log size exceeds the threshold value
| New
in 1.4.1 |
+| client.undo.compress.enable | undo log compression
switch |
default true
|
New in 1.4.1 |
+| client.undo.compress.type | undo log compression
algorithm |
Default zip. Options include NONE, GZIP, ZIP, SEVENZ, BZIP2, LZ4, DEFLATER, and
ZSTD
|
New in 1.4.1 |
+| client.undo.compress.threshold | undo log compression
threshold | The
default value is 64k. Compression occurs when the compression switch is on and
the undo log size exceeds the threshold value
| New
in 1.4.1 |
<details>
<summary><mark>synchronize parameters to the configuration center for use
demo</mark></summary>
@@ -268,15 +276,21 @@ Parameter description:
-a: AppId of the Namespace. The default value is seata server
--c: The name of the managed configuration cluster is generally passed in as
default. If it is a special cluster, just pass in the name of the corresponding
cluster. The default value is default
+-c: The name of the managed configuration cluster is generally passed in as
default. If it is a special cluster, just
+pass in the name of the corresponding cluster. The default value is default
--n: The name of the namespace under management. If it is not in the properties
format, it needs to add a suffix, such as sample.yml. The default value is
application
+-n: The name of the namespace under management. If it is not in the properties
format, it needs to add a suffix, such as
+sample.yml. The default value is application
-d: The creator of the item, in the format of domain account, that is, the
user ID of the sso system
--r: Publisher, domain account. Note: If the namespace. lock. switch in Apollo
ConfigDB. ServerConfig is set to true (false by default), the environment does
not allow the publisher and editor to be the same person. So if the editor is
zhangsan, the publisher can no longer be zhangsan.
+-r: Publisher, domain account. Note: If the namespace. lock. switch in Apollo
ConfigDB. ServerConfig is set to true (
+false by default), the environment does not allow the publisher and editor to
be the same person. So if the editor is
+zhangsan, the publisher can no longer be zhangsan.
--t: The Apollo administrator creates a third-party application at
http://\{portal_address}/open/manage.html. Before creating it, it is better to
query whether the AppId has been created. After successful creation, a token
will be generated
+-t: The Apollo administrator creates a third-party application at
http://\{portal_address}/open/manage.html. Before
+creating it, it is better to query whether the AppId has been created. After
successful creation, a token will be
+generated
For details of the above parameters, see:
@@ -334,17 +348,24 @@ Description of transaction grouping.
1. What is a transaction group?
-Transaction grouping is the resource logic of seata, similar to service
instance. My in file.conf* test* tx\_ A group is a transaction group.
+Transaction grouping is the resource logic of seata, similar to service
instance. My in file.conf* test* tx\_ A group is
+a transaction group.
2. How to find the back-end cluster through transaction grouping?
-First, the program configures transaction grouping (txServiceGroup parameter
of GlobalTransactionScanner construction method). The program will search for
service.vgroupMapping through the user configured configuration center
+First, the program configures transaction grouping (txServiceGroup parameter
of GlobalTransactionScanner construction
+method). The program will search for service.vgroupMapping through the user
configured configuration center
-Transaction grouping configuration item. The value of the configuration item
obtained is the name of the TC cluster. The program that obtains the cluster
name constructs the service name through a certain prefix+cluster name. The
service name of each configuration center is different. Get the service name,
go to the corresponding registry, pull the service list of the corresponding
service name, and get the real TC service list of the back-end.
+Transaction grouping configuration item. The value of the configuration item
obtained is the name of the TC cluster. The
+program that obtains the cluster name constructs the service name through a
certain prefix+cluster name. The service
+name of each configuration center is different. Get the service name, go to
the corresponding registry, pull the service
+list of the corresponding service name, and get the real TC service list of
the back-end.
3. Why is the design so that the service name is not directly taken?
-There is an additional layer to obtain the configuration of transaction groups
to the mapping cluster. After this design, the transaction group can be used as
the logical isolation unit of resources, which can quickly fail over when a
failure occurs.
+There is an additional layer to obtain the configuration of transaction groups
to the mapping cluster. After this
+design, the transaction group can be used as the logical isolation unit of
resources, which can quickly fail over when a
+failure occurs.
### Appendix 2:
@@ -356,25 +377,38 @@ It is used when registry.type=file. It is not read in
other times.
2. Can multiple value lists be configured for default.grouplist?
-Multiple can be configured, which means cluster, but when store When
mode=file, an error will be reported. The reason is that the file storage mode
does not provide synchronization of local files, so you need to use
store.mode=db to share data between TC clusters through db
+Multiple can be configured, which means cluster, but when store When
mode=file, an error will be reported. The reason is
+that the file storage mode does not provide synchronization of local files, so
you need to use store.mode=db to share
+data between TC clusters through db
3. Is default.grouplist recommended?
-Not recommended. For example, question 1, when registering It is used when
type=file, which means that the real registry is not used here, and the health
check mechanism without specific services cannot automatically remove the list
when the tc is unavailable. It is recommended to use nacos, eureka, redis, zk,
consumer, etcd3, and sofa. Registry. type=file or config The original purpose
of type=file design is to enable users to quickly verify the seata service
through direct connection w [...]
+Not recommended. For example, question 1, when registering It is used when
type=file, which means that the real registry
+is not used here, and the health check mechanism without specific services
cannot automatically remove the list when the
+tc is unavailable. It is recommended to use nacos, eureka, redis, zk,
consumer, etcd3, and sofa. Registry. type=file or
+config The original purpose of type=file design is to enable users to quickly
verify the seata service through direct
+connection without relying on a third-party registry or configuration center.
-4. Why is the configuration in seata spring boot starter grouplist.default,
that is, the default in file.conf Is the writing of grouplist just reversed?
+4. Why is the configuration in seata spring boot starter grouplist.default,
that is, the default in file.conf Is the
+ writing of grouplist just reversed?
-Due to the syntax requirements of the spring boot configuration file itself,
the default.grouplist in file.conf needs to be written as grouplist.default in
this place. The effect is the same
+Due to the syntax requirements of the spring boot configuration file itself,
the default.grouplist in file.conf needs to
+be written as grouplist.default in this place. The effect is the same
### Appendix 3:
-log\_ Status=1 is defensive. It is a global rollback request received, but it
is uncertain whether the local transaction of a transaction branch has been
executed. At this time, a piece of data with the same branch ID is inserted in
advance, and the inserted false data is successful. If the local transaction
continues to execute, the only index conflict will be reported for automatic
rollback.
+log\_ Status=1 is defensive. It is a global rollback request received, but it
is uncertain whether the local transaction
+of a transaction branch has been executed. At this time, a piece of data with
the same branch ID is inserted in advance,
+and the inserted false data is successful. If the local transaction continues
to execute, the only index conflict will
+be reported for automatic rollback.
-If the insertion is unsuccessful, it indicates that the local transaction has
been completed, and the undo data is taken out for reverse rollback.
+If the insertion is unsuccessful, it indicates that the local transaction has
been completed, and the undo data is taken
+out for reverse rollback.
### Appendix 4:
-Whether to enable spring boot automatic assembly. If it is enabled, the
integration of seata and spring boot will be automatically configured,
including the automatic proxy of data source and initialization of
GlobalTransactionScanner.
+Whether to enable spring boot automatic assembly. If it is enabled, the
integration of seata and spring boot will be
+automatically configured, including the automatic proxy of data source and
initialization of GlobalTransactionScanner.
Note: New features of version 1.0 need to rely on seata spring boot starter.
@@ -385,15 +419,20 @@ The following annotations have been added to seata 1.1.0
to enable the automatic
@EnableAutoDataSourceProxy
| attribute | desc | remark |
-| --------- | ---- | ------ |
+|-----------|------|--------|
-|UseJdkProxy | Whether to use JDK proxy as the implementation method of data
source automatic proxy | false, true, false by default, CGLIB as the
implementation method of data source automatic proxy|
+|UseJdkProxy | Whether to use JDK proxy as the implementation method of data
source automatic proxy | false, true, false
+by default, CGLIB as the implementation method of data source automatic proxy|
-1. For the method of using seata spring boot starter, the data source
automatic proxy is enabled by default. If you need to close it, please
configure seata. enableAutoDataSourceProxy=false, which is true by default.
+1. For the method of using seata spring boot starter, the data source
automatic proxy is enabled by default. If you need
+ to close it, please configure seata. enableAutoDataSourceProxy=false, which
is true by default.
-To switch the proxy implementation mode, please click seata UseJdkProxy=false.
The default value is false. CGLIB is used as the implementation method of
automatic proxy for data sources.
+To switch the proxy implementation mode, please click seata UseJdkProxy=false.
The default value is false. CGLIB is used
+as the implementation method of automatic proxy for data sources.
-2. For the method of using seata all, please use @ EnableAutoDataSourceProxy
to explicitly enable the automatic proxy function of the data source. If
necessary, you can use the useJdkProxy attribute of the annotation to implement
the proxy
+2. For the method of using seata all, please use @ EnableAutoDataSourceProxy
to explicitly enable the automatic proxy
+ function of the data source. If necessary, you can use the useJdkProxy
attribute of the annotation to implement the
+ proxy
Switch of. The default value is false. CGLIB is used as the implementation
method of automatic proxy for data sources.
@@ -415,6 +454,10 @@ On the contrary, if the current distributed transaction is
closed, the self-test
### Appendix 7:
-In the store mode=db. Because seata inserts global locks in batches through
the executeBatch of jdbc, according to the MySQL official website, when the
rewriteBatchedStatements in the connection parameter is true, when executeBatch
is executed and the operation type is insert, the jdbc driver will optimize the
corresponding SQL to the form of 'insert into () values (), ()' to improve the
performance of batch insert.
+In the store mode=db. Because seata inserts global locks in batches through
the executeBatch of jdbc, according to the
+MySQL official website, when the rewriteBatchedStatements in the connection
parameter is true, when executeBatch is
+executed and the operation type is insert, the jdbc driver will optimize the
corresponding SQL to the form of 'insert
+into () values (), ()' to improve the performance of batch insert.
-According to the actual test, when this parameter is set to true, the
corresponding batch insert performance is more than 10 times of the original.
Therefore, it is recommended to set this parameter to true when the data source
is MySQL.
+According to the actual test, when this parameter is set to true, the
corresponding batch insert performance is more
+than 10 times of the original. Therefore, it is recommended to set this
parameter to true when the data source is MySQL.
diff --git
a/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/configurations.md
b/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/configurations.md
index 13da028ae05..a29f994578d 100644
--- a/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/configurations.md
+++ b/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/configurations.md
@@ -27,14 +27,13 @@ description: Seata 参数配置。
| server.raft.server-addr | |
| server.raft.snapshot-interval | |
-## 全属性
+## 全部配置
-### 公共部分
+### 通用部分(服务端和客户端)
| key | desc
| remark
| change record
|
| ---------------------------------------- |
----------------------------------------- |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------------
|
-| transport.type | socket 通信方式
| TCP、UNIX_DOMAIN_SOCKET,默认 TCP
|
-| transport.server | socket 通道类型
| NIO、NATIVE(根据操作系统类型和 socket 通信方式选择 KQueue 或 Epoll,注意 Windows 只支持
NIO,选择这种方式会抛出异常)
|
+
| transport.threadFactory.bossThreadSize | Netty 通信模型 Boss group 线程数
| 默认 1
|
| transport.threadFactory.workerThreadSize | Netty 通信模型 Worker group 线程数
| 可配置线程数或选择特定线程工作模式下的线程数,线程的默认工作模式有 4 种:Auto(2\*CPU 核数 + 1)、Pin(CPU
核数,适用于计算密集型任务)、BusyPin(CPU 核数 + 1,适用于计算密集型且内存比较有限的场景)、Default(2\*CPU 核数,适用于 IO
密集型任务),默认值为 Default 模式 |
| transport.shutdown.wait | 服务端 Netty 线程池关闭前等待服务下线时间 | 默认 3 秒
|
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
