参数配置说明
local-read-async-double-write配置示例:
devspore:
dcs:
props:
version: v1
app-id: xxxx
monitor-id: xxxx
cloud: xxxx
region: xxxx
azs: xxxx
etcd: # 可选
address: xxx.xxx.xxx.xxx:xxxx
api-version: v3
username: xxxx
password: xxxx
https-enable: false
redis:
nearest: dc1
servers:
dc1: // 和MAS服务监控页中的名称保持一致:dc1和dc2
hosts: xxx.xxx.xxx.xxx:xxxx
password: xxxxxx
type: normal
cloud: xxxx
region: xxxx
azs: az1
pool:
max-total: 8
max-idle: 8
min-idle: 8
max-wait-millis: 10000
time-between-eviction-runs-millis: 60000
dc2:
hosts: xxx.xxx.xxx.xxx:xxxx
password: xxxxxx
type: normal
cloud: xxxx
region: xxxx
azs: az1
pool:
max-total: 8
max-idle: 8
min-idle: 8
max-wait-millis: 10000
time-between-eviction-runs-millis: 60000
route-algorithm: local-read-async-double-write
single-read-async-double-write配置示例:
devspore:
dcs:
props:
version: v1
app-id: xxxx
monitor-id: xxxx
cloud: xxxx
region: xxxx
azs: xxxx
etcd: # 可选
address: xxx.xxx.xxx.xxx:xxxx
api-version: v3
username: xxxx
password: xxxx
https-enable: false
active: dc1
redis:
servers:
dc1: // 和MAS服务监控页中的名称保持一致:dc1和dc2
hosts: xxx.xxx.xxx.xxx:xxxx
password: xxxxxx
type: normal
cloud: xxxx
region: xxxx
azs: az1
pool:
max-total: 16
max-idle: 16
min-idle: 16
max-wait-millis: 10000
time-between-eviction-runs-millis: 60000
dc2:
hosts: xxx.xxx.xxx.xxx:xxxx
password: xxxxxx
type: normal
cloud: xxxx
region: xxxx
azs: az1
pool:
max-total: 16
max-idle: 16
min-idle: 16
max-wait-millis: 10000
time-between-eviction-runs-millis: 60000
route-algorithm: single-read-async-double-write
|
参数名称 |
是否必选 |
参数类型 |
取值范围 |
描述 |
|---|---|---|---|---|
|
props |
否 |
PropertiesConfiguration object |
请参考表2 |
MAS监控配置,配合etcd使用。同MAS-DB-SDK配置。 |
|
etcd |
否 |
EtcdConfiguration object |
请参考表3 |
etcd配置,如配置,则会从远端拉取。RedisServer配置对本地配置进行覆盖。同MAS-DB-SDK配置。 |
|
redis |
是 |
RedisClusterConfiguration object |
请参考表4 |
RedisServer配置。 |
|
route-algorithm |
是 |
String |
local-read-async-double-write single-read-async-double-write single-read-write |
路由算法。 |
|
active |
是 |
String |
只能是“dc1”或“dc2” |
激活的Redis。 |
|
参数名称 |
是否必选 |
参数类型 |
取值范围 |
描述 |
|---|---|---|---|---|
|
version |
是 |
String |
- |
项目版本号。 |
|
appId |
是 |
String |
- |
项目组名称。 |
|
monitorId |
是 |
String |
- |
监控组名称。 |
|
cloud |
是 |
String |
- |
项目部署云组。 |
|
region |
是 |
String |
- |
项目部署region。 |
|
azs |
是 |
String |
- |
项目部署AZ。 |
|
decipherClassName |
是 |
String |
- |
自定义加密类的全类名 |
|
参数名称 |
是否必选 |
参数类型 |
取值范围 |
描述 |
|---|---|---|---|---|
|
address |
是 |
String |
- |
Etcd地址。 |
|
apiVersion |
是 |
String |
v2/v3 |
Etcd版本。 |
|
username |
是 |
String |
- |
Etcd用户名。 |
|
password |
是 |
String |
- |
Etcd密码。 |
|
httpsEnable |
是 |
Boolean |
true/false |
是否启用https。 |
|
certificatePath |
否 |
String |
- |
证书路径,用于https认证(>=1.2.1-RELEASE)。 |
|
参数名称 |
是否必选 |
参数类型 |
取值范围 |
描述 |
|---|---|---|---|---|
|
local |
否 |
String |
只能是“dc1”或“dc2”。 |
指明哪个是近端Redis。仅需要在本地读单边写模式下设置。 |
|
asyncRemoteWrite.retryTimes |
是 |
Integer |
默认为3。 |
异步写远端操作重试次数。 |
|
connectionPool.enable |
否 |
Boolean |
true/false,默认值为true。 |
是否启用连接池。 |
|
asyncRemotePool |
否 |
ThreadPoolConfiguration object |
请参考表5。 |
异步写线程池配置。 |
|
servers |
是 |
Map of ServerConfiguration |
key为dc1/dc2 单个维度请参考表6。 |
dc1,dc2的RedisServer连接配置。 |
|
参数名称 |
是否必选 |
参数类型 |
取值范围 |
描述 |
|---|---|---|---|---|
|
threadCoreSize |
否 |
Integer |
默认为8 |
线程池的基本大小。 |
|
maximumPoolSize |
否 |
Integer |
默认为8 |
最大线程池大小。 |
|
keepAliveTime |
否 |
Long |
默认为60L |
空闲线程存活时间。 |
|
task-queue-size |
否 |
Integer |
默认150000 |
缓冲队列数。 |
|
参数名称 |
是否必选 |
参数类型 |
取值范围 |
描述 |
|---|---|---|---|---|
|
hosts |
是 |
String |
- |
RedisServer地址。 |
|
password |
是 |
String |
- |
RedisServer密码。 |
|
type |
是 |
String |
|
RedisServer类型。 |
|
cloud |
是 |
String |
- |
RedisServer所属云。 |
|
region |
是 |
String |
- |
RedisServer所属Region。 |
|
azs |
是 |
String |
- |
RedisServer所属AZ。 |
|
pool |
否 |
ConnectionPoolConfiguration object |
请参考表7。 |
Jedis连接池配置。 |
|
timeout |
否 |
Integer |
默认为2000。 |
连接和执行命令的超时时间。 |
|
maxAttempts |
否 |
Integer |
默认为5。 |
最大重试次数。 |
|
masterName |
否 |
String |
- |
type选择为sentinel哨兵模式时Redis名字。 |
|
sentinelPassword |
否 |
String |
- |
哨兵模式的密码。 |
|
参数名称 |
是否必选 |
参数类型 |
取值范围 |
描述 |
|---|---|---|---|---|
|
maxTotal |
否 |
int |
- |
最大活动对象数。 |
|
maxIdle |
否 |
int |
- |
最大能够保持idle状态的对象数。 |
|
minIdle |
否 |
int |
- |
最小能够保持idle状态的对象数。 |
|
maxWaitMillis |
否 |
long |
- |
当池内没有返回对象时,最大等待时间。 |
|
lifo |
否 |
boolean |
- |
设置连接对象是否后进先出,默认true。 |
|
fairness |
否 |
boolean |
- |
当从池中获取资源或者将资源还回池中时 是否使用。java.util.concurrent.locks.ReentrantLock.ReentrantLock 的公平锁机制,默认为false。 |
|
minEvictableIdleTime |
否 |
long |
- |
连接最小空闲时间, 默认60000L。 |
|
evictorShutdownTimeout |
否 |
long |
- |
驱逐线程关闭的超时时间。 |
|
softMinEvictableIdleTime |
否 |
long |
- |
对象空闲多久后逐出, 当空闲时间>该值且空闲连接>最大空闲数时直接逐出,不再根据MinEvictableIdleTimeMillis判断。 |
|
numTestsPerEvictionRun |
否 |
int |
- |
次释放连接的最大数目。 |
|
evictionPolicyClassName |
否 |
String |
- |
设置逐出策略,默认策略为 “org.apache.commons.pool2.impl.DefaultEvictionPolicy” |
|
testOnCreate |
否 |
boolean |
- |
在连接对象创建时测试连接对象的有效性,默认false。 |
|
testOnBorrow |
否 |
boolean |
- |
从池中获取连接时是否测试连接的有效性,默认false ,建议在对性能要求不高的情况下配置为true。 |
|
testOnReturn |
否 |
boolean |
- |
在连接对象返回时,是否测试对象的有效性,默认false。 |
|
testWhileIdle |
否 |
boolean |
- |
在连接池空闲时是否测试连接对象的有效性,默认true (建议配置为true)。 |
|
blockWhenExhausted |
否 |
boolean |
- |
当池中的资源耗尽时是否进行阻塞,设置false直接报错,true表示会一直等待,直到有可用资源。 |
|
jmxEnabled |
否 |
boolean |
- |
设置是否启用JMX,默认true。 |
|
jmxNamePrefix |
否 |
String |
- |
设置JMX前缀名,默认值pool。 |
|
jmxNameBase |
否 |
String |
- |
设置JMX基础名。 |
|
timeBetweenEvictionRuns |
否 |
long |
- |
空闲连接检测线程,检测的周期,毫秒数。如果为负值,表示不运行检测线程。默认30000L。 |
|
timeBetweenEvictionRunsMillis |
否 |
long |
- |
空闲连接检测线程,检测的周期,毫秒数。如果为负值,表示不运行检测线程。默认为30000L。 |