更新时间:2024-11-28 GMT+08:00
分享

配置参数说明

表1 配置参数详解

参数名称

是否必选

参数类型

取值范围

描述

props

否

PropertiesConfiguration object

请参考表2 PropertiesConfiguration数据结构说明

MAS监控配置,配合etcd使用。

etcd

否

EtcdConfiguration object

请参考表3 EtcdConfiguration数据结构说明

etcd配置,如配置,则会从远端拉取MongoServer配置对本地配置进行覆盖。

sources

是

ClientConfiguration object

请参考表4 ClientConfiguration数据结构说明

MongoClient配置。

active

是

String

只能是“dc1”或“dc2”

当前使用的Mongo Server节点。

mappingConverterClassName

否

String

自定义的MappingConverter全限定类名

如 com.huawei.example.MyMappingConverter。

routeStrategy

否

String

single-read-write或local-read-single-write

如不设置此配置项,默认为single-read-write。

表2 PropertiesConfiguration数据结构说明

参数名称

是否必选

参数类型

取值范围

描述

version

是

String

-

项目版本号。

appId

是

String

-

MAS项目组名称。

monitorId

是

String

-

MAS监控组名称。

databaseName

是

String

-

MAS监控的Mongo数据库。

cloud

是

String

-

项目部署云组。

region

是

String

-

项目部署region。

azs

是

String

-

项目部署AZ。

decipherClassName

否

String

-

用户用于自定义加解密etcd密码的全限定类名。

表3 EtcdConfiguration数据结构说明

参数名称

是否必选

参数类型

取值范围

描述

address

是

String

-

Etcd地址。

apiVersion

是

String

v3

Etcd版本,固定为v3版本。

username

是

String

-

Etcd用户名。

password

是

String

-

Etcd密码。

httpsEnable

是

Boolean

true/false

是否启用https。

certificatePath

否

String

-

证书存放目录,此目录下应包含ca.crt、client.crt、client.key.pem这三个文件。该路径支持classpath:xxx.xxx和绝对路径两种格式。

使用证书方式连接etcd时,httpsEnable必须设为true,certificatePath不可为空,且保证该路径下有相应的证书文件。

表4 ClientConfiguration数据结构说明

参数名称

是否必选

参数类型

描述

username

是

String

连接MongoDB的用户名。

password

是

String

连接MongoDB的密码。

url

是

String

MongoDB连接串(去除用户名和密码) 举例:mongodb://ip+port/database。

azs

否

String

此Mongo数据源所属AZ。当routeStrategy设置为local-read-single-write时,此项必填。

minPoolSize

否

Integer

指定在任何时刻必须存在于单个连接池中的最小连接数。

maxPoolSize

否

Integer

指定连接池在给定时间可以拥有的最大连接数。

waitQueueTimeoutMS

否

Integer

指定线程可以等待连接变为可用的最长时间(以毫秒为单位)。

serverSelectionTimeoutMS

否

Integer

服务器选择超时(以毫秒为单位)。

localThresholdMS

否

Integer

当与副本集中的多个MongoDB实例进行通信时,驱动程序只会将请求发送到响应时间小于或等于响应时间最快的服务器加上本地阈值的服务器,以毫秒为单位。

heartbeatFrequencyMS

否

Integer

指定驱动程序在尝试确定集群中每个服务器的当前状态之间等待的频率(以毫秒为单位)。

replicaSet

否

String

指定提供的连接字符串包括多个主机。指定后,驱动程序会尝试查找该集合的所有成员。

ssl

否

Boolean

指定与 MongoDB 实例的所有通信都应使用 TLS/SSL。

tls

否

Boolean

指定与 MongoDB 实例的所有通信都应使用 TLS。

tlsInsecure

否

Boolean

指定驱动程序应允许 TLS 连接使用无效主机名。

tlsAllowInvalidHostnames

否

Boolean

指定驱动程序应允许证书中的无效主机名用于 TLS 连接。

connectTimeoutMS

否

Integer

指定 Java 驱动程序在超时前等待连接打开的最长时间(以毫秒为单位)。

socketTimeoutMS

否

Integer

指定 Java 驱动程序在超时之前等待发送或接收请求的最长时间(以毫秒为单位)。

maxIdleTimeMS

否

Integer

指定最长时间(以毫秒为单位),Java 驱动程序将允许池连接在关闭连接之前处于空闲状态。

maxLifeTimeMS

否

Integer

指定 Java 驱动程序在关闭连接之前将继续使用池连接的最长时间(以毫秒为单位)。

journal

否

Boolean

指定驱动程序必须等待连接的 MongoDB 实例对所有写入的磁盘上的日志文件进行分组提交。

w

否

String

指定写关注。

wtimeoutMS

否

Integer

指定写入问题的时间限制(以毫秒为单位)。

readPreference

否

String

指定读取首选。

readPreferenceTags

否

String

指定读取首选项标签。

maxStalenessSeconds

否

Integer

以秒为单位指定在驱动程序停止与辅助节点通信之前辅助节点的陈旧程度。

authMechanism

否

String

指定在提供凭据时驱动程序应使用的身份验证机制。

authSource

否

String

指定应针对所提供的凭据进行验证的数据库。

authMechanismProperties

否

String

将指定身份验证机制的身份验证属性指定为以冒号分隔的属性和值的列表。

appName

否

String

指定在连接握手期间提供给 MongoDB 实例的应用程序的名称。可用于服务器日志和分析。

compressors

否

String

指定驱动程序将尝试使用的一种或多种压缩算法来压缩发送到连接的 MongoDB 实例的请求

zlibCompressionLevel

否

String

指定 Zlib 应采用的压缩程度。

retryWrite

否

Boolean

指定如果支持的写操作由于网络错误而失败,驱动程序必须重试。默认为真。

retryRead

否

Boolean

指定如果支持的读取操作由于网络错误而失败,驱动程序必须重试。默认为真。

uuidRepresentation

否

String

指定用于读取和写入操作的 UUID 表示。

directConnection

否

String

指定驱动程序必须直接连接到主机。

ClientConfiguration中的url这一配置项,请勿配置MongoDB的用户名和密码。

相关文档