各中间件连接信息汇总
1、HikariDataSource
springMVC | springboot | ||||
name | 描述 | 构造器默认值 | 默认配置validate之后的值 | validate重置 | name |
autoCommit | 自动提交从池中返回的连接 | TRUE | TRUE | - | spring.datasource.hikari.auto-commit |
connectionTimeout | 等待来自池的连接的最大毫秒数 | SECONDS.toMillis(30) = 30000 | 30000 | 如果小于250毫秒,则被重置回30秒 | spring.datasource.hikari.connection-timeout |
idleTimeout | 连接允许在池中闲置的最长时间 | MINUTES.toMillis(10) = 600000 | 600000 | 如果idleTimeout+1秒>maxLifetime 且 maxLifetime>0,则会被重置为0(代表永远不会退出);如果idleTimeout!=0且小于10秒,则会被重置为10秒 | spring.datasource.hikari.idle-timeout= |
maxLifetime | 池中连接最长生命周期 | MINUTES.toMillis(30) = 1800000 | 1800000 | 如果不等于0且小于30秒则会被重置回30分钟 | spring.datasource.hikari.max-lifetime= |
connectionTestQuery | 如果您的驱动程序支持JDBC4,我们强烈建议您不要设置此属性 | null | null | - | spring.datasource.hikari.connection-test-query |
minimumIdle | 池中维护的最小空闲连接数 | -1 | 10 | minIdle<0或者minIdle>maxPoolSize,则被重置为maxPoolSize | spring.datasource.hikari.minimum-idle |
maximumPoolSize | 池中最大连接数,包括闲置和使用中的连接 | -1 | 10 | 如果maxPoolSize小于1,则会被重置。当minIdle<=0被重置为DEFAULT_POOL_SIZE则为10;如果minIdle>0则重置为minIdle的值 | spring.datasource.hikari.maximum-pool-size |
metricRegistry | 该属性允许您指定一个 Codahale / Dropwizard MetricRegistry 的实例,供池使用以记录各种指标 | null | null | - | spring.datasource.hikari.metric-registry |
healthCheckRegistry | 该属性允许您指定池使用的Codahale / Dropwizard HealthCheckRegistry的实例来报告当前健康信息 | null | null | - | spring.datasource.hikari.health-check-registry |
poolName | 连接池的用户定义名称,主要出现在日志记录和JMX管理控制台中以识别池和池配置 | null | HikariPool-1 | - | spring.datasource.hikari.pool-name |
initializationFailTimeout | 如果池无法成功初始化连接,则此属性控制池是否将 fail fast | 1 | 1 | - | spring.datasource.hikari.initialization-fail-fast |
isolateInternalQueries | 是否在其自己的事务中隔离内部池查询,例如连接活动测试 | FALSE | FALSE | - | spring.datasource.hikari.isolate-internal-queries |
allowPoolSuspension | 控制池是否可以通过JMX暂停和恢复 | FALSE | FALSE | - | spring.datasource.hikari.allow-pool-suspension |
readOnly | 从池中获取的连接是否默认处于只读模式 | FALSE | FALSE | - | spring.datasource.hikari.read-only |
registerMbeans | 是否注册JMX管理Bean(MBeans) | FALSE | FALSE | - | spring.datasource.hikari.register-mbeans |
catalog | 为支持 catalog 概念的数据库设置默认 catalog | driver default | null | - | spring.datasource.hikari.catalog |
connectionInitSql | 该属性设置一个SQL语句,在将每个新连接创建后,将其添加到池中之前执行该语句。 | null | null | - | spring.datasource.hikari.connection-init-sql |
driverClassName | HikariCP将尝试通过仅基于jdbcUrl的DriverManager解析驱动程序,但对于一些较旧的驱动程序,还必须指定driverClassName | null | null | - | spring.datasource.hikari.driver-class-name |
transactionIsolation | 控制从池返回的连接的默认事务隔离级别 | null | null | - | spring.datasource.hikari.transaction-isolation |
validationTimeout | 连接将被测试活动的最大时间量 | SECONDS.toMillis(5) = 5000 | 5000 | 如果小于250毫秒,则会被重置回5秒 | spring.datasource.hikari.validation-timeout |
leakDetectionThreshold | 记录消息之前连接可能离开池的时间量,表示可能的连接泄漏 | 0 | 0 | 如果大于0且不是单元测试,则进一步判断:(leakDetectionThreshold < SECONDS.toMillis(2) or (leakDetectionThreshold > maxLifetime && maxLifetime > 0),会被重置为0 . 即如果要生效则必须>0,而且不能小于2秒,而且当maxLifetime > 0时不能大于maxLifetime | spring.datasource.hikari.leak-detection-threshold |
dataSource | 这个属性允许你直接设置数据源的实例被池包装,而不是让HikariCP通过反射来构造它 | null | null | - | |
schema | 该属性为支持模式概念的数据库设置默认模式 | driver default | null | - | |
threadFactory | 此属性允许您设置将用于创建池使用的所有线程的java.util.concurrent.ThreadFactory的实例。 | null | null | - | |
scheduledExecutor | 此属性允许您设置将用于各种内部计划任务的java.util.concurrent.ScheduledExecutorService实例 | null | null | - |
2、BasicDataSource
spring MVC | springboot | ||
name | 描述 | 构造器默认值 | |
username | 用来建立jdbc连接的用户名 | spring.datasource.username | |
password | 用来建立jdbc连接的密码 | spring.datasource.password | |
url | 建立连接的url | spring.datasource.url | |
driverClassName | jdbc driver className | spring.datasource.driver-class-name | |
class | org.apache.commons.dbcp.BasicDataSource | spring.datasource.type=org.apache.commons.dbcp.BasicDataSource | |
connectionProperties | 连接使用的properties.使用的格式必须是[propertyName=property;]* | ||
defaultAutoCommit | 这个连接池默认的自动提交状态.如果没有设置,setAutoCommit方法不会被调用 | driver default | spring.datasource.dbcp2.default-auto-commit |
defaultReadOnly | 这个连接池默认的读写状态。如果没有设置,setReadOnly方法就不会调用(一些数据库不支持readOnly模式,比如informix) | driver default | spring.datasource.dbcp2.default-read-only |
defaultTransactionIsolation | 默认的隔离级别.必须是其中一个(NONE,READ_COMMITTED,READ_UNCOMMITTED,REPEATABLE_READ,SERIALIZABLE) | driver default | spring.datasource.dbcp2.default-transaction-isolation |
defaultCatalog | 连接池默认创建的连接数 | spring.datasource.dbcp2.default-catalog | |
cacheState | 如果是true, 连接池将会缓存readOnly和auto Commit配置,在第一次进行读或者写的时候.这会减少以后的数据库查询.如果获取连接后,这个连接自己设置readOnly和自动提交设置,这些配置不会影响到当前中的配置。在这种情况下,如果我们想要这种设置生效,caching应该把这个设置成disable. | TRUE | spring.datasource.dbcp2.cache-state |
defaultQueryTimeout | 如果不是null,这个Integer的value将会用来衡量timeout,从连接创建时就开始计算。null意味着driver default将会被使用. | null | spring.datasource.dbcp2.default-query-timeout |
enableAutocommitOnReturn | 如果是true,连接如果返回到池的时候,将会检查是否被设置成了autoAutoCommit为false,那么就会调用Connection.setAutoCommit(true) | TRUE | spring.datasource.dbcp2.enable-auto-commit-on-return |
roolbackOnReturn | True意味着如果设置了autoCommit为false和readonly胃false的时候,当回到连接池的时候就回滚 | TRUE | spring.datasource.dbcp2.rollback-on-return |
initialSize | 连接池创建的时候,建立的连接数.从1.2起 | 0 | spring.datasource.dbcp2.initial-size |
maxTotal | 一个时间最大的活跃连接数,负数代表没有上限 | 8 | spring.datasource.dbcp2.max-total |
maxIdle | 最大的idle保持数,其他的将会释放,负数代表没有上限 | 8 | spring.datasource.dbcp2.max-idle |
minIdle | 最小的idle保持数,其他的将会被创建,0代表不保持 | 0 | spring.datasource.dbcp2.min-idle |
maxWaitMillis | 获取连接最大等待时间,-1代表一直等 | indefinitely | spring.datasource.dbcp2.max-wait-millis |
validationQuery | 在返回连接前,是否进行验证。如果使用,必须使用一个SQL SELECT返回至少一行.如果没有配置,连接调用isValid()方法. | spring.datasource.dbcp2.validation-query | |
validationQueryTimeout | 连接验证超时的秒数,如果设置为正数,将会用来验证连接的sql执行 | no timeout | spring.datasource.dbcp2.validation-query-timeout |
testOnCreate | 在连接创建时,是否进行验证。如果验证失败,从连接池获取就会失败. | FALSE | spring.datasource.dbcp2.test-on-create |
testOnBorrow | 在从池中借连接的时候是否验证。如果验证失败,就会放弃这个连接,试图获取另外一个. | TRUE | spring.datasource.dbcp2.test-on-borrow |
testOnReturn | 在返回连接给连接池的时候,是否进行验证. | TRUE | spring.datasource.dbcp2.test-on-return |
testWhileIdle | 空闲连接是否进行验证,如果失败,就会从连接池去除. | FALSE | spring.datasource.dbcp2.test-while-idle |
timeBetweenEvictionRunsMillis | 空闲连接验证执行的时间间隔,负数将会代表不会执行 | -1 | spring.datasource.dbcp2.time-between-eviction-runs-millis |
numTestsPerEvictionRun | 执行空闲连接验证的线程数. | 3 | spring.datasource.dbcp2.num-tests-per-eviction-run |
minEvictableIdleTimeMillis | 空闲保持时间,在这时间之后再进行空闲验证 | 1000 * 60 * 30 | spring.datasource.dbcp2.min-evictable-idle-time-millis |
softMinEvictableIdleTimeMillis | 这个是空闲保持时间的软限制,如果设置最小空闲保持时间(这时候不考虑需要保持空闲连接数),则先和最小空闲保持时间对比,再和这个参数比。 | -1 | spring.datasource.dbcp2.soft-min-evictable-idle-time-millis |
maxConnLifetimeMillis | 连接最大的生命时间。如果超过了这个时间,那么在下次活跃,不活跃或者验证测试的时候就会失败。0或者小于0代表连接没有生命上限 | -1 | spring.datasource.dbcp2.max-conn-lifetime-millis |
logExpiredConnections | 是否记录超时的连接数 | TRUE | spring.datasource.dbcp2.log-expired-connections |
connectionInitSqls | 建立连接的时候调用的sql,只有在connection fatory创建的时候调用 | null | spring.datasource.dbcp2.connection-init-sqls |
lifo | 这个一个队列模式lifo(last in first out)。如果设置为false,则为FIFO | TRUE | |
accessToUnderlyingConnectionAllowed | 是否可以PoolGuard可以获取底层连接 | FALSE | spring.datasource.dbcp2.access-to-underlying-connection-allowed |
removeAbandonedOnMaintenance removeAbandonedOnBorrow | 这个是用来保证应用程序关闭连接失败的情况。在超时不使用并且超过抛弃时间后就会被抛弃掉。条件超时,还有其他条件:getNumActive() > getMaxTotal() - 3; and getNumIdle() < 2 | FALSE | spring.datasource.dbcp2.remove-abandoned-on-borrow spring.datasource.dbcp2.remove-abandoned-on-maintenance |
removeAbandonedTimeout | 抛弃的时间 | 300 | spring.datasource.dbcp2.remove-abandoned-timeout |
logAbandoned | 是否记录abandoned的日志 | FALSE | spring.datasource.dbcp2.log-abandoned |
abandonedUsageTracking | 是否记录trace,debug的时候比较有用 | FALSE | spring.datasource.dbcp2.abandoned-usage-tracking |
fastFailValidation | 这个设置为true的时候,validation快速失败当connection抛出fatal SqlException的时候。当对一个已经关闭的连接发出isValid方法和一个合法query的时候,就会快速失败.SQL_STATE默认是:(57P01 (ADMIN SHUTDOWN) 57P02 (CRASH SHUTDOWN) 57P03 (CANNOT CONNECT NOW) 01002 (SQL92 disconnect error) JZ0C0 (Sybase disconnect error) JZ0C1 (Sybase disconnect error) Any SQL_STATE code that starts with “08”) 可以通过设置disconnectionSqlCodes属性进行override | FALSE | spring.datasource.dbcp2.fast-fail-validation |
disconnectionSqlCodes | 配合fastValidation使用,用来设置需要包括的sql_state | null | spring.datasource.dbcp2.disconnection-sql-codes |
3、redis
jedis | springboot | ||||
名称 | 描述 | 默认 | 名称 | 描述 | 默认 |
redis.ip | redis服务器的IP | localhost | spring.redis.database | Redis数据库索引(默认为0 | 0 |
redis.port | redis服务器的Port | 6379 | spring.redis.host | Redis服务器地址 | localhost |
redis.pool.maxTotal | 最大活动对象数 | 8 | spring.redis.port | Redis服务器连接端口 | 6379 |
redis.pool.maxIdle | 最大能够保持idel状态的对象数 | 8 | spring.redis.password | Redis服务器连接密码(默认为空) | |
redis.pool.minIdle | 最小能够保持idel状态的对象数 | 0 | spring.redis.pool.max-active | 连接池最大连接数(使用负值表示没有限制) | 8 |
redis.pool.maxWaitMillis | 当池内没有返回对象时,最大等待时间 | -1 | spring.redis.pool.max-wait | 连接池最大阻塞等待时间(使用负值表示没有限制) | -1 |
redis.pool.testOnBorrow | 当调用borrow Object方法时,是否进行有效性检查 | FALSE | spring.redis.pool.max-idle | 连接池中的最大空闲连接 | 8 |
redis.pool.testOnReturn | 当调用return Object方法时,是否进行有效性检查 | FALSE | spring.redis.pool.min-idle | 连接池中的最小空闲连接 | 0 |
redis.pool.timeBetweenEvictionRunsMillis | “空闲链接”检测线程,检测的周期,毫秒数。如果为负值,表示不运行“检测线程”。默认为-1. | -1 | spring.redis.timeout | 连接超时时间(毫秒) | |
redis.pool.testWhileIdle | 向调用者输出“链接”对象时,是否检测它的空闲超时 | FALSE | spring.session.store-type | spring-session 使用 | |
redis.pool.numTestsPerEvictionRun | 对于“空闲链接”检测线程而言,每次检测的链接资源的个数。默认为3. | 3 |
4、kafka
springMVC | springboot | ||||
名称 | 描述 | 默认值 | 名称 | 描述 | 默认值 |
生产者 | |||||
producer.type | 指定消息发送是同步还是异步。异步asyc成批发送用kafka.producer.AyncProducer, 同步sync用kafka.producer.SyncProducer | sync | spring.kafka.producer.bootstrap-servers | 用于建立与kafka集群建立连接的地址集合,书写格式为:ip1:port,ip2:port2,ip3:port3 类型是list | |
metadata.broker.list | 使用这个参数传入boker和分区的静态信息,如host1:port1,host2:port2, 这个可以是全部boker的一部分 | boker list | spring.kafka.producer.key-serializer | Key的序列化方式,用于实现Serializer接口 类型是class | |
compression.codec | 消息压缩,默认不压缩 | NoCompressionCodec | spring.kafka.producer.value-serializer | 值的Serializer类,实现了org.apache.kafka.common.serialization.Serializer接口 | |
compressed.topics | 在设置了压缩的情况下,可以指定特定的topic压缩,未指定则全部压缩 | null | spring.kafka.producer.retries | 设置大于0的值将使客户端重新发送任何数据,一旦这些数据发送失败。注意,这些重试与客户端接收到发送错误时的重试没有什么不同。 允许重试将潜在的改变数据的顺序,如果这两个消息记录都是发送到同一个partition, 则第一个消息失败第二个发送成功,则第二条消息会比第一条消息出现要早。 |
|
message.send.max.retries | 消息发送最大尝试次数 | 3 | spring.kafka.producer.batch-size | 每当多个记录被发送到同一分区时,生产者将尝试将记录一起批量处理为更少的请求, 这有助于提升客户端和服务端之间的性能,此配置控制默认批量大小(以字节为单位),默认值为16384 |
16384 |
retry.backoff.ms | 每次尝试增加的额外的间隔时间 | 300 | spring.kafka.producer.buffer-memory | producer可以用来缓存数据的内存大小。如果数据产生速度大于向broker发送的速度,producer会阻塞或者抛出异常,以“block.on.buffer.full”来表明。 这项设置将和producer能够使用的总内存相关,但并不是一个硬性的限制,因为不是producer使用的所有内存都是用于缓存。 一些额外的内存会用于压缩(如果引入压缩机制),同样还有一些用于维护请求。 |
33554432 |
topic.metadata.refresh.interval.ms | 定期的获取元数据的时间。当分区丢失,leader不可用时producer也会主动获取元数据,如果为0,则每次发送完消息就获取元数据, 不推荐。如果为负值,则只有在失败的情况下获取元数据。 |
600000 | spring.kafka.producer.acks | procedure要求leader在考虑完成请求之前收到的确认数,用于控制发送记录在服务端的持久化,其值可以为如下: acks = 0 如果设置为零,则生产者将不会等待来自服务器的任何确认,该记录将立即添加到套接字缓冲区并视为已发送。 在这种情况下,无法保证服务器已收到记录,并且重试配置将不会生效(因为客户端通常不会知道任何故障), 为每条记录返回的偏移量始终设置为-1。 acks = 1 这意味着leader会将记录写入其本地日志,但无需等待所有副本服务器的完全确认即可做出回应, 在这种情况下,如果leader在确认记录后立即失败,但在将数据复制到所有的副本服务器之前,则记录将会丢失。 acks = all 这意味着leader将等待完整的同步副本集以确认记录,这保证了只要至少一个同步副本服务器仍然存活, 记录就不会丢失,这是最强有力的保证,这相当于acks = -1的设置。 可以设置的值为:all, -1, 0, 1 |
|
queue.buffering.max.ms | 在producer queue的缓存的数据最大时间,仅仅for asyc | 5000 | |||
queue.buffering.max.message | producer 缓存的消息的最大数量,仅仅for asyc | 10000 | |||
queue.enqueue.timeout.ms | 0当queue满时丢掉,负值是queue满时block,正值是queue满时block相应的时间,仅仅for asyc | -1 | |||
batch.num.messages | 一批消息的数量,仅仅for asyc | 200 | |||
request.required.acks | 0表示producer无需等待leader的确认,1代表需要leader确认写入它的本地log并立即确认,-1代表所有的备份都完成后确认。 仅仅for sync | 0 | |||
request.timeout.ms | 确认超时时间 | 10000 | |||
消费者 | |||||
groupid | 一个字符串用来指示一组consumer所在的组 | groupid | spring.kafka.consumer.bootstrap-servers | 以逗号分隔的主机:端口对列表,用于建立与Kafka群集的初始连接 | |
socket.timeout.ms | socket超时时间 | 30000 | spring.kafka.consumer.group-id | 用来唯一标识consumer进程所在组的字符串,如果设置同样的group id,表示这些processes都是属于同一个consumer group,默认:"" | "" |
socket.buffersize | socket receive buffer | 64*1024 | spring.kafka.consumer.max-poll-records | max.poll.records条数据需要在session.timeout.ms这个时间内处理完,默认:500 | 500 |
fetch.size | 控制在一个请求中获取的消息的字节数。 这个参数在0.8.x中由fetch.message.max.bytes,fetch.min.bytes取代 | 300 * 1024 | spring.kafka.consumer.heartbeat-interval | 消费超时时间,大小不能超过session.timeout.ms,默认:3000 | 3000 |
backoff.increment.ms | 这个参数避免在没有新数据的情况下重复频繁的拉数据。 如果拉到空数据,则多推后这个时间 | 1000 | spring.kafka.consumer.enable-auto-commit | 如果为真,consumer所fetch的消息的offset将会自动的同步到zookeeper。 这项提交的offset将在进程挂掉时,由新的consumer使用,默认:true |
true |
queued.max.message.chunks | high level consumer内部缓存拉回来的消息到一个队列中。 这个值控制这个队列的大小 | 2 | spring.kafka.consumer.auto-commit-interval | consumer自动向zookeeper提交offset的频率,默认:5000 | 5000 |
auto.commit.enable | 如果true,consumer定期地往zookeeper写入每个分区的offset | TRUE | spring.kafka.consumer.auto-offset-reset | 没有初始化的offset时,可以设置以下三种情况:(默认:latest) earliest 当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费 latest 当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据 none topic各分区都存在已提交的offset时,从offset后开始消费;只要有一个分区不存在已提交的offset,则抛出异常 |
latest |
auto.commit.interval.ms | 往zookeeper上写offset的频率 | 10000 | spring.kafka.consumer.fetch-min-size | 每次fetch请求时,server应该返回的最小字节数。如果没有足够的数据返回, 请求会等待,直到足够的数据才会返回。默认:1 |
1 |
auto.offset.reset | 如果offset出了返回,则 smallest: 自动设置reset到最小的offset. largest : 自动设置offset到最大的offset. 其它值不允许,会抛出异常. | largest | spring.kafka.consumer.fetch-max-wait | Fetch请求发给broker后,在broker中可能会被阻塞的(当topic中records的总size小于fetch.min.bytes时), 此时这个fetch请求耗时就会比较长。这个配置就是来配置consumer最多等待response多久 |
|
consumer.timeout.ms | 默认-1,consumer在没有新消息时无限期的block。如果设置一个正值, 一个超时异常会抛出 | -1 | spring.kafka.consumer.client-id | 消费者进程的标识。如果设置一个人为可读的值,跟踪问题会比较方便。。默认:"" | |
rebalance.retries.max | rebalance时的最大尝试次数 | 4 | spring.kafka.consumer.key-deserializer | key的反序列化类。实现了org.apache.kafka.common.serialization.Deserializer接口 | |
spring.kafka.consumer.value-deserializer | 值的反序列化类。实现了org.apache.kafka.common.serialization.Deserializer接口 | ||||
broker配置参数 | listener的配置 | ||||
broker.id | 每一个boker都有一个唯一的id作为它们的名字。当该服务器的IP地址发生改变时,broker.id没有变化,则不会影响consumers的消息情况 | -1 | spring.kafka.listener.ack-mode | 在侦听器容器中运行的线程数 | |
port | broker server服务端口 | 9092 | spring.kafka.listener.poll-timeout | 轮询消费者时使用的超时(以毫秒为单位) | |
host.name | broker的主机地址,若是设置了,那么会绑定到这个地址上,若是没有,会绑定到所有的接口上,并将其中之一发送到ZK | "" | spring.kafka.listener.ack-count | 当ackMode为“COUNT”或“COUNT_TIME”时,偏移提交之间的记录数 | |
log.dirs | kafka数据的存放地址,多个地址的话用逗号分割,多个目录分布在不同磁盘上可以提高读写性能 /data/kafka-logs-1,/data/kafka-logs-2 | /tmp/kafka-logs | spring.kafka.listener.ack-time | 当ackMode为“TIME”或“COUNT_TIME”时,偏移提交之间的时间(以毫秒为单位) | |
message.max.bytes | 表示消息体的最大大小,单位是字节 | 1000012 | |||
num.network.threads | broker处理消息的最大线程数,一般情况下数量为cpu核数 | 3 | |||
num.io.threads | 处理IO的线程数 | 8 | |||
log.flush.interval.messages | 在数据被写入到硬盘和消费者可用前最大累积的消息的数量 | Long.MaxValue | |||
log.flush.interval.ms | 在数据被写入到硬盘前的最大时间 | Long.MaxValue | |||
log.flush.scheduler.interval.ms | 检查数据是否要写入到硬盘的时间间隔。 | Long.MaxValue | |||
log.retention.hours | 控制一个log保留多长个小时 | 168 (24*7) | |||
log.retention.bytes | 控制log文件最大尺寸 | -1 | |||
log.cleaner.enable | 是否log cleaning | FALSE | |||
log.cleanup.policy | delete还是compat. | delete | |||
log.segment.bytes | 单一的log segment文件大小 | 1073741824 | |||
log.roll.hours | 开始一个新的log文件片段的最大时间 | 168 | |||
background.threads | 后台线程序 | 10 | |||
num.partitions | 默认分区数 | 1 | |||
socket.send.buffer.bytes | socket SO_SNDBUFF参数 | 102400 | |||
socket.receive.buffer.bytes | socket SO_RCVBUFF参数 | 102400 | |||
zookeeper.connect | 指定zookeeper连接字符串, 格式如hostname:port/chroot。chroot是一个namespace | ||||
zookeeper.connection.timeout.ms | 指定客户端连接zookeeper的最大超时时间 | 6000 | |||
zookeeper.session.timeout.ms | 连接zk的session超时时间 | 6000 | |||
zookeeper.sync.time.ms | zk follower落后于zk leader的最长时间 | 2000 |
5、RabbitMq
sprinMVC | spring boot | ||||
基础信息 | 描述 | 默认值 | 基础信息 | 描述 | 默认值 |
host | 默认localhost | spring.rabbitmq.host: | 默认localhost | ||
port | 默认5672 | spring.rabbitmq.port: | 默认5672 | ||
virtual-host | 连接到代理时用的虚拟主机 | spring.rabbitmq.username: | 用户名 | ||
username | 用户名 | spring.rabbitmq.password: | 密码 | ||
password | 密码 | spring.rabbitmq.virtual-host: | 连接到代理时用的虚拟主机 | ||
Listener | spring.rabbitmq.addresses: | 连接到server的地址列表(以逗号分隔),先addresses后host | |||
acknowledge | 表示消息确认方式,其有三种配置方式,分别是none、manual和auto;默认auto | spring.rabbitmq.requested-heartbeat: | 请求心跳超时时间,0为不指定,如果不指定时间单位默认为妙 | ||
prefetch | 一个消费者最多可处理的nack消息数量,如果有事务的话,必须大于等于transaction数量. | spring.rabbitmq.publisher-confirms: | 是否启用【发布确认】,默认false | ||
concurrency | 最小的消费者数量 | spring.rabbitmq.publisher-returns: | 是否启用【发布返回】,默认false | ||
max-concurrency | 最大的消费者数量 | spring.rabbitmq.connection-timeout: | 连接超时时间,单位毫秒,0表示永不超时 | ||
SSL | |||||
spring.rabbitmq.ssl.enabled: | 是否支持ssl,默认false | ||||
spring.rabbitmq.ssl.key-store: | 持有SSL certificate的key store的路径 | ||||
spring.rabbitmq.ssl.key-store-password: | 访问key store的密码 | ||||
spring.rabbitmq.ssl.trust-store: | 持有SSL certificates的Trust store | ||||
spring.rabbitmq.ssl.trust-store-password: | 访问trust store的密码 | ||||
spring.rabbitmq.ssl.trust-store-type=JKS:. | Trust store 类型 | ||||
spring.rabbitmq.ssl.algorithm: | ssl使用的算法,默认由rabiitClient配置 | ||||
spring.rabbitmq.ssl.validate-server-certificate= | 是否启用服务端证书验证 | true: | |||
spring.rabbitmq.ssl.verify-hostname= | 是否启用主机验证 | true | |||
缓存cache | |||||
spring.rabbitmq.cache.channel.size: | 缓存中保持的channel数量 | ||||
spring.rabbitmq.cache.channel.checkout-timeout: | 当缓存数量被设置时,从缓存中获取一个channel的超时时间,单位毫秒;如果为0,则总是创建一个新channel | ||||
spring.rabbitmq.cache.connection.size: | 缓存的channel数,只有是CONNECTION模式时生效 | ||||
spring.rabbitmq.cache.connection.mode= | 连接工厂缓存模式:channel 和 connection | channel: | |||
Listener | |||||
spring.rabbitmq.listener.type=simple: | 容器类型.simple或direct | ||||
spring.rabbitmq.listener.simple.auto-startup= | 是否启动时自动启动容器 | true: | |||
spring.rabbitmq.listener.simple.acknowledge-mode: | 表示消息确认方式,其有三种配置方式,分别是none、manual和auto;默认auto | ||||
spring.rabbitmq.listener.simple.concurrency: | 最小的消费者数量 | ||||
spring.rabbitmq.listener.simple.max-concurrency: | 最大的消费者数量 | ||||
spring.rabbitmq.listener.simple.prefetch: | 一个消费者最多可处理的nack消息数量,如果有事务的话,必须大于等于transaction数量. | ||||
spring.rabbitmq.listener.simple.transaction-size: | 当ack模式为auto时,一个事务(ack间)处理的消息数量,最好是小于等于prefetch的数量.若大于prefetch, 则prefetch将增加到这个值 | ||||
spring.rabbitmq.listener.simple.default-requeue-rejected: | 决定被拒绝的消息是否重新入队;默认是true(与参数acknowledge-mode有关系) | ||||
spring.rabbitmq.listener.simple.missing-queues-fatal= | 若容器声明的队列在代理上不可用,是否失败; 或者运行时一个多多个队列被删除,是否停止容器 | true | |||
spring.rabbitmq.listener.simple.idle-event-interval: | 发布空闲容器的时间间隔,单位毫秒 | ||||
spring.rabbitmq.listener.simple.retry.enabled=: | 监听重试是否可用 | false | |||
spring.rabbitmq.listener.simple.retry.max-attempts=3: | 最大重试次数 | 3 | |||
spring.rabbitmq.listener.simple.retry.max-interval= | 最大重试时间间隔 | 10000ms: | |||
spring.rabbitmq.listener.simple.retry.initial-interval= | 第一次和第二次尝试传递消息的时间间隔 | 1000ms: | |||
spring.rabbitmq.listener.simple.retry.multiplier= | 应用于上一重试间隔的乘数 | 1 | |||
spring.rabbitmq.listener.simple.retry.stateless=: | 重试时有状态or无状态 | true | |||
spring.rabbitmq.listener.direct.acknowledge-mode= | ack模式 | ||||
spring.rabbitmq.listener.direct.auto-startup= | 是否在启动时自动启动容器 | true | |||
spring.rabbitmq.listener.direct.consumers-per-queue= | 每个队列消费者数量. | ||||
spring.rabbitmq.listener.direct.default-requeue-rejected= | 默认是否将拒绝传送的消息重新入队. | ||||
spring.rabbitmq.listener.direct.idle-event-interval= | 空闲容器事件发布时间间隔. | ||||
spring.rabbitmq.listener.direct.missing-queues-fatal= | 若容器声明的队列在代理上不可用,是否失败. | false | |||
spring.rabbitmq.listener.direct.prefetch= | 每个消费者可最大处理的nack消息数量. | ||||
spring.rabbitmq.listener.direct.retry.enabled= | 是否启用发布重试机制 | false . | |||
spring.rabbitmq.listener.direct.retry.initial-interval= | # Duration between the first and second attempt to deliver a message. | 1000ms | |||
spring.rabbitmq.listener.direct.retry.max-attempts= | # Maximum number of attempts to deliver a message. | 3 | |||
spring.rabbitmq.listener.direct.retry.max-interval= | # Maximum duration between attempts. | 10000ms | |||
spring.rabbitmq.listener.direct.retry.multiplier=1 | # Multiplier to apply to the previous retry interval. | 1 | |||
spring.rabbitmq.listener.direct.retry.stateless= | # Whether retries are stateless or stateful. | true | |||
Template | |||||
spring.rabbitmq.template.mandatory: | 启用强制信息;默认false | ||||
spring.rabbitmq.template.receive-timeout: receive() | 操作的超时时间 | ||||
spring.rabbitmq.template.reply-timeout: sendAndReceive() | 操作的超时时间 | ||||
spring.rabbitmq.template.retry.enabled=: | 发送重试是否可用 | false | |||
spring.rabbitmq.template.retry.max-attempts | 最大重试次数 | 3 | |||
spring.rabbitmq.template.retry.initial-interva=: | 第一次和第二次尝试发布或传递消息之间的间隔 | 1000msl | |||
spring.rabbitmq.template.retry.multiplier | 应用于上一重试间隔的乘数 | 1 | |||
spring.rabbitmq.template.retry.max-interval=: | 最大重试时间间隔 | 10000 |
6、dubbo
dubbo:application | ||||||||
springmvc | springboot | |||||||
属性 | 对应URL参数 | 类型 | 是否必填 | 缺省值 | 作用 | 描述 | 兼容性 | 属性 |
name | application | string | 必填 | 服务治理 | 当前应用名称,用于注册中心计算应用间依赖关系,注意:消费者和提供者应用名不要一样,此参数不是匹配条件,你当前项目叫什么名字就填什么,和提供者消费者角色无关,比如:kylin应用调用了morgan应用的服务,则kylin项目配成kylin,morgan项目配成morgan,可能kylin也提供其它服务给别人使用,但kylin项目永远配成kylin,这样注册中心将显示kylin依赖于morgan | 1.0.16以上版本 | dubbo.application.name | |
version | application.version | string | 可选 | 服务治理 | 当前应用的版本 | 2.2.0以上版本 | dubbo.application.version | |
owner | owner | string | 可选 | 服务治理 | 应用负责人,用于服务治理,请填写负责人公司邮箱前缀 | 2.0.5以上版本 | dubbo.application.owner | |
organization | organization | string | 可选 | 服务治理 | 组织名称(BU或部门),用于注册中心区分服务来源,此配置项建议不要使用autoconfig,直接写死在配置中,比如china,intl,itu,crm,asc,dw,aliexpress等 | 2.0.0以上版本 | dubbo.application.organization | |
architecture | architecture | string | 可选 | 服务治理 | 用于服务分层对应的架构。如,intl、china。不同的架构使用不同的分层。 | 2.0.7以上版本 | dubbo.application.architecture | |
environment | environment | string | 可选 | 服务治理 | 应用环境,如:develop/test/product,不同环境使用不同的缺省值,以及作为只用于开发测试功能的限制条件 | 2.0.0以上版本 | dubbo.application.environment | |
compiler | compiler | string | 可选 | javassist | 性能优化 | Java字节码编译器,用于动态类的生成,可选:jdk或javassist | 2.1.0以上版本 | dubbo.application.compiler |
logger | logger | string | 可选 | slf4j | 性能优化 | 日志输出方式,可选:slf4j,jcl,log4j,log4j2,jdk | 2.2.0以上版本 | dubbo.application.logger |
dubbo:service | ||||||||
springmvc | springboot | |||||||
属性 | 对应URL参数 | 类型 | 是否必填 | 缺省值 | 作用 | 描述 | 兼容性 | |
interface | class | 必填 | 服务发现 | 服务接口名 | 1.0.0以上版本 | @service注解 | ||
ref | object | 必填 | 服务发现 | 服务对象实现引用 | 1.0.0以上版本 | @service注解 | ||
version | version | string | 可选 | 0.0.0 | 服务发现 | 服务版本,建议使用两位数字版本,如:1.0,通常在接口不兼容时版本号才需要升级 | 1.0.0以上版本 | @service注解 |
group | group | string | 可选 | 服务发现 | 服务分组,当一个接口有多个实现,可以用分组区分 | 1.0.7以上版本 | @service注解 | |
path | <path> | string | 可选 | 缺省为接口名 | 服务发现 | 服务路径 (注意:1.0不支持自定义路径,总是使用接口名,如果有1.0调2.0,配置服务路径可能不兼容) | 1.0.12以上版本 | @service注解 |
delay | delay | int | 可选 | 0 | 性能调优 | 延迟注册服务时间(毫秒) ,设为-1时,表示延迟到Spring容器初始化完成时暴露服务 | 1.0.14以上版本 | @service注解 |
timeout | timeout | int | 可选 | 1000 | 性能调优 | 远程服务调用超时时间(毫秒) | 2.0.0以上版本 | @service注解 |
retries | retries | int | 可选 | 2 | 性能调优 | 远程服务调用重试次数,不包括第一次调用,不需要重试请设为0 | 2.0.0以上版本 | @service注解 |
connections | connections | int | 可选 | 100 | 性能调优 | 对每个提供者的最大连接数,rmi、http、hessian等短连接协议表示限制连接数,dubbo等长连接协表示建立的长连接个数 | 2.0.0以上版本 | @service注解 |
loadbalance | loadbalance | string | 可选 | random | 性能调优 | 负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮询,最少活跃调用 | 2.0.0以上版本 | @service注解 |
async | async | boolean | 可选 | FALSE | 性能调优 | 是否缺省异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程 | 2.0.0以上版本 | @service注解 |
local | local | class/boolean | 可选 | FALSE | 服务治理 | 设为true,表示使用缺省代理类名,即:接口名 + Local后缀,已废弃,请使用stub | 2.0.0以上版本 | @service注解 |
stub | stub | class/boolean | 可选 | FALSE | 服务治理 | 设为true,表示使用缺省代理类名,即:接口名 + Stub后缀,服务接口客户端本地代理类名,用于在客户端执行本地逻辑,如本地缓存等,该本地代理类的构造函数必须允许传入远程代理对象,构造函数如:public XxxServiceStub(XxxService xxxService) | 2.0.0以上版本 | @service注解 |
mock | mock | class/boolean | 可选 | FALSE | 服务治理 | 设为true,表示使用缺省Mock类名,即:接口名 + Mock后缀,服务接口调用失败Mock实现类,该Mock类必须有一个无参构造函数,与Local的区别在于,Local总是被执行,而Mock只在出现非业务异常(比如超时,网络异常等)时执行,Local在远程调用之前执行,Mock在远程调用后执行。 | 2.0.0以上版本 | @service注解 |
token | token | string/boolean | 可选 | FALSE | 服务治理 | 令牌验证,为空表示不开启,如果为true,表示随机生成动态令牌,否则使用静态令牌,令牌的作用是防止消费者绕过注册中心直接访问,保证注册中心的授权功能有效,如果使用点对点调用,需关闭令牌功能 | 2.0.0以上版本 | @service注解 |
registry | string | 可选 | 缺省向所有registry注册 | 配置关联 | 向指定注册中心注册,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔,如果不想将该服务注册到任何registry,可将值设为N/A | 2.0.0以上版本 | @service注解 | |
provider | string | 可选 | 缺省使用第一个provider配置 | 配置关联 | 指定provider,值为<dubbo:provider>的id属性 | 2.0.0以上版本 | @service注解 | |
deprecated | deprecated | boolean | 可选 | FALSE | 服务治理 | 服务是否过时,如果设为true,消费方引用时将打印服务过时警告error日志 | 2.0.5以上版本 | @service注解 |
dynamic | dynamic | boolean | 可选 | TRUE | 服务治理 | 服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。 | 2.0.5以上版本 | @service注解 |
accesslog | accesslog | string/boolean | 可选 | FALSE | 服务治理 | 设为true,将向logger中输出访问日志,也可填写访问日志文件路径,直接把访问日志输出到指定文件 | 2.0.5以上版本 | @service注解 |
owner | owner | string | 可选 | 服务治理 | 服务负责人,用于服务治理,请填写负责人公司邮箱前缀 | 2.0.5以上版本 | @service注解 | |
document | document | string | 可选 | 服务治理 | 服务文档URL | 2.0.5以上版本 | @service注解 | |
weight | weight | int | 可选 | 性能调优 | 服务权重 | 2.0.5以上版本 | @service注解 | |
executes | executes | int | 可选 | 0 | 性能调优 | 服务提供者每服务每方法最大可并行执行请求数 | 2.0.5以上版本 | @service注解 |
proxy | proxy | string | 可选 | javassist | 性能调优 | 生成动态代理方式,可选:jdk/javassist | 2.0.5以上版本 | @service注解 |
cluster | cluster | string | 可选 | failover | 性能调优 | 集群方式,可选:failover/failfast/failsafe/failback/forking | 2.0.5以上版本 | @service注解 |
filter | service.filter | string | 可选 | default | 性能调优 | 服务提供方远程调用过程拦截器名称,多个名称用逗号分隔 | 2.0.5以上版本 | @service注解 |
listener | exporter.listener | string | 可选 | default | 性能调优 | 服务提供方导出服务监听器名称,多个名称用逗号分隔 | @service注解 | |
protocol | string | 可选 | 配置关联 | 使用指定的协议暴露服务,在多协议时使用,值为<dubbo:protocol>的id属性,多个协议ID用逗号分隔 | 2.0.5以上版本 | @service注解 | ||
layer | layer | string | 可选 | 服务治理 | 服务提供者所在的分层。如:biz、dao、intl:web、china:acton。 | 2.0.7以上版本 | @service注解 | |
register | register | boolean | 可选 | TRUE | 服务治理 | 该协议的服务是否注册到注册中心 | 2.0.8以上版本 | 525消金活动保障方案 |
dubbo:reference | ||||||||
springmvc | springboot | |||||||
属性 | 对应URL参数 | 类型 | 是否必填 | 缺省值 | 作用 | 描述 | 兼容性 | |
id | string | 必填 | 配置关联 | 服务引用BeanId | 1.0.0以上版本 | @reference注解 | ||
interface | class | 必填 | 服务发现 | 服务接口名 | 1.0.0以上版本 | @reference注解 | ||
version | version | string | 可选 | 服务发现 | 服务版本,与服务提供者的版本一致 | 1.0.0以上版本 | @reference注解 | |
group | group | string | 可选 | 服务发现 | 服务分组,当一个接口有多个实现,可以用分组区分,必需和服务提供方一致 | 1.0.7以上版本 | @reference注解 | |
timeout | timeout | long | 可选 | 缺省使用<dubbo:consumer>的timeout | 性能调优 | 服务方法调用超时时间(毫秒) | 1.0.5以上版本 | @reference注解 |
retries | retries | int | 可选 | 缺省使用<dubbo:consumer>的retries | 性能调优 | 远程服务调用重试次数,不包括第一次调用,不需要重试请设为0 | 2.0.0以上版本 | @reference注解 |
connections | connections | int | 可选 | 缺省使用<dubbo:consumer>的connections | 性能调优 | 对每个提供者的最大连接数,rmi、http、hessian等短连接协议表示限制连接数,dubbo等长连接协表示建立的长连接个数 | 2.0.0以上版本 | @reference注解 |
loadbalance | loadbalance | string | 可选 | 缺省使用<dubbo:consumer>的loadbalance | 性能调优 | 负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮询,最少活跃调用 | 2.0.0以上版本 | @reference注解 |
async | async | boolean | 可选 | 缺省使用<dubbo:consumer>的async | 性能调优 | 是否异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程 | 2.0.0以上版本 | @reference注解 |
generic | generic | boolean | 可选 | 缺省使用<dubbo:consumer>的generic | 服务治理 | 是否缺省泛化接口,如果为泛化接口,将返回GenericService | 2.0.0以上版本 | @reference注解 |
check | check | boolean | 可选 | 缺省使用<dubbo:consumer>的check | 服务治理 | 启动时检查提供者是否存在,true报错,false忽略 | 2.0.0以上版本 | @reference注解 |
url | url | string | 可选 | 服务治理 | 点对点直连服务提供者地址,将绕过注册中心 | 1.0.6以上版本 | @reference注解 | |
stub | stub | class/boolean | 可选 | 服务治理 | 服务接口客户端本地代理类名,用于在客户端执行本地逻辑,如本地缓存等,该本地代理类的构造函数必须允许传入远程代理对象,构造函数如:public XxxServiceLocal(XxxService xxxService) | 2.0.0以上版本 | @reference注解 | |
mock | mock | class/boolean | 可选 | 服务治理 | 服务接口调用失败Mock实现类名,该Mock类必须有一个无参构造函数,与Local的区别在于,Local总是被执行,而Mock只在出现非业务异常(比如超时,网络异常等)时执行,Local在远程调用之前执行,Mock在远程调用后执行。 | Dubbo1.0.13及其以上版本支持 | @reference注解 | |
cache | cache | string/boolean | 可选 | 服务治理 | 以调用参数为key,缓存返回结果,可选:lru, threadlocal, jcache等 | Dubbo2.1.0及其以上版本支持 | @reference注解 | |
validation | validation | boolean | 可选 | 服务治理 | 是否启用JSR303标准注解验证,如果启用,将对方法参数上的注解进行校验 | Dubbo2.1.0及其以上版本支持 | @reference注解 | |
proxy | proxy | boolean | 可选 | javassist | 性能调优 | 选择动态代理实现策略,可选:javassist, jdk | 2.0.2以上版本 | @reference注解 |
client | client | string | 可选 | 性能调优 | 客户端传输类型设置,如Dubbo协议的netty或mina。 | Dubbo2.0.0以上版本支持 | @reference注解 | |
registry | string | 可选 | 缺省将从所有注册中心获服务列表后合并结果 | 配置关联 | 从指定注册中心注册获取服务列表,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔 | 2.0.0以上版本 | @reference注解 | |
owner | owner | string | 可选 | 服务治理 | 调用服务负责人,用于服务治理,请填写负责人公司邮箱前缀 | 2.0.5以上版本 | @reference注解 | |
actives | actives | int | 可选 | 0 | 性能调优 | 每服务消费者每服务每方法最大并发调用数 | 2.0.5以上版本 | @reference注解 |
cluster | cluster | string | 可选 | failover | 性能调优 | 集群方式,可选:failover/failfast/failsafe/failback/forking | 2.0.5以上版本 | @reference注解 |
filter | reference.filter | string | 可选 | default | 性能调优 | 服务消费方远程调用过程拦截器名称,多个名称用逗号分隔 | 2.0.5以上版本 | @reference注解 |
listener | invoker.listener | string | 可选 | default | 性能调优 | 服务消费方引用服务监听器名称,多个名称用逗号分隔 | 2.0.5以上版本 | @reference注解 |
layer | layer | string | 可选 | 服务治理 | 服务调用者所在的分层。如:biz、dao、intl:web、china:acton。 | 2.0.7以上版本 | @reference注解 | |
init | init | boolean | 可选 | FALSE | 性能调优 | 是否在afterPropertiesSet()时饥饿初始化引用,否则等到有人注入或引用该实例时再初始化。 | 2.0.10以上版本 | @reference注解 |
protocol | protocol | string | 可选 | 服务治理 | 只调用指定协议的服务提供方,其它协议忽略。 | 2.2.0以上版本 | @reference注解 | |
dubbo:protocol | ||||||||
springmvc | springboot | |||||||
属性 | 对应URL参数 | 类型 | 是否必填 | 缺省值 | 作用 | 描述 | 兼容性 | |
id | string | 可选 | dubbo | 配置关联 | 协议BeanId,可以在<dubbo:service protocol="">中引用此ID,如果ID不填,缺省和name属性值一样,重复则在name后加序号。 | 2.0.5以上版本 | dubbo.protocol.id | |
name | <protocol> | string | 必填 | dubbo | 性能调优 | 协议名称 | 2.0.5以上版本 | dubbo.protocol.name |
port | <port> | int | 可选 | dubbo协议缺省端口为20880,rmi协议缺省端口为1099,http和hessian协议缺省端口为80;如果没有配置port,则自动采用默认端口,如果配置为-1,则会分配一个没有被占用的端口。Dubbo 2.4.0+,分配的端口在协议缺省端口的基础上增长,确保端口段可控。 | 服务发现 | 服务端口 | 2.0.5以上版本 | dubbo.protocol.port |
host | <host> | string | 可选 | 自动查找本机IP | 服务发现 | -服务主机名,多网卡选择或指定VIP及域名时使用,为空则自动查找本机IP,-建议不要配置,让Dubbo自动获取本机IP | 2.0.5以上版本 | dubbo.protocol.host |
threadpool | threadpool | string | 可选 | fixed | 性能调优 | 线程池类型,可选:fixed/cached | 2.0.5以上版本 | dubbo.protocol.threadpool |
threads | threads | int | 可选 | 200 | 性能调优 | 服务线程池大小(固定大小) | 2.0.5以上版本 | dubbo.protocol.threads |
iothreads | threads | int | 可选 | cpu个数+1 | 性能调优 | io线程池大小(固定大小) | 2.0.5以上版本 | dubbo.protocol.iothreads |
accepts | accepts | int | 可选 | 0 | 性能调优 | 服务提供方最大可接受连接数 | 2.0.5以上版本 | dubbo.protocol.accepts |
payload | payload | int | 可选 | 8388608(=8M) | 性能调优 | 请求及响应数据包大小限制,单位:字节 | 2.0.5以上版本 | dubbo.protocol.payload |
codec | codec | string | 可选 | dubbo | 性能调优 | 协议编码方式 | 2.0.5以上版本 | dubbo.protocol.codec |
serialization | serialization | string | 可选 | dubbo协议缺省为hessian2,rmi协议缺省为java,http协议缺省为json | 性能调优 | 协议序列化方式,当协议支持多种序列化方式时使用,比如:dubbo协议的dubbo,hessian2,java,compactedjava,以及http协议的json等 | 2.0.5以上版本 | dubbo.protocol.serialization |
accesslog | accesslog | string/boolean | 可选 | 服务治理 | 设为true,将向logger中输出访问日志,也可填写访问日志文件路径,直接把访问日志输出到指定文件 | 2.0.5以上版本 | dubbo.protocol.accesslog | |
path | <path> | string | 可选 | 服务发现 | 提供者上下文路径,为服务path的前缀 | 2.0.5以上版本 | dubbo.protocol.path | |
transporter | transporter | string | 可选 | dubbo协议缺省为netty | 性能调优 | 协议的服务端和客户端实现类型,比如:dubbo协议的mina,netty等,可以分拆为server和client配置 | 2.0.5以上版本 | dubbo.protocol.transporter |
server | server | string | 可选 | dubbo协议缺省为netty,http协议缺省为servlet | 性能调优 | 协议的服务器端实现类型,比如:dubbo协议的mina,netty等,http协议的jetty,servlet等 | 2.0.5以上版本 | dubbo.protocol.server |
client | client | string | 可选 | dubbo协议缺省为netty | 性能调优 | 协议的客户端实现类型,比如:dubbo协议的mina,netty等 | 2.0.5以上版本 | dubbo.protocol.client |
dispatcher | dispatcher | string | 可选 | dubbo协议缺省为all | 性能调优 | 协议的消息派发方式,用于指定线程模型,比如:dubbo协议的all, direct, message, execution, connection等 | 2.1.0以上版本 | dubbo.protocol.dispatcher |
queues | queues | int | 可选 | 0 | 性能调优 | 线程池队列大小,当线程池满时,排队等待执行的队列大小,建议不要设置,当线程池满时应立即失败,重试其它服务提供机器,而不是排队,除非有特殊需求。 | 2.0.5以上版本 | dubbo.protocol.queues |
charset | charset | string | 可选 | UTF-8 | 性能调优 | 序列化编码 | 2.0.5以上版本 | dubbo.protocol.charset |
buffer | buffer | int | 可选 | 8192 | 性能调优 | 网络读写缓冲区大小 | 2.0.5以上版本 | dubbo.protocol.buffer |
heartbeat | heartbeat | int | 可选 | 0 | 性能调优 | 心跳间隔,对于长连接,当物理层断开时,比如拔网线,TCP的FIN消息来不及发送,对方收不到断开事件,此时需要心跳来帮助检查连接是否已断开 | 2.0.10以上版本 | dubbo.protocol.heartbeat |
telnet | telnet | string | 可选 | 服务治理 | 所支持的telnet命令,多个命令用逗号分隔 | 2.0.5以上版本 | dubbo.protocol.telnet | |
register | register | boolean | 可选 | TRUE | 服务治理 | 该协议的服务是否注册到注册中心 | 2.0.8以上版本 | dubbo.protocol.register |
contextpath | contextpath | String | 可选 | 缺省为空串 | 服务治理 | 2.0.6以上版本 | dubbo.protocol.contextpath | |
dubbo:provider | ||||||||
springmvc | springboot | |||||||
属性 | 对应URL参数 | 类型 | 是否必填 | 缺省值 | 作用 | 描述 | 兼容性 | |
id | string | 可选 | dubbo | 配置关联 | 协议BeanId,可以在<dubbo:service proivder="">中引用此ID | 1.0.16以上版本 | dubbo.provider.id | |
protocol | <protocol> | string | 可选 | dubbo | 性能调优 | 协议名称 | 1.0.16以上版本 | dubbo.provider.protocol |
host | <host> | string | 可选 | 自动查找本机IP | 服务发现 | 服务主机名,多网卡选择或指定VIP及域名时使用,为空则自动查找本机IP,建议不要配置,让Dubbo自动获取本机IP | 1.0.16以上版本 | dubbo.provider.host |
threads | threads | int | 可选 | 200 | 性能调优 | 服务线程池大小(固定大小) | 1.0.16以上版本 | dubbo.provider.threads |
payload | payload | int | 可选 | 8388608(=8M) | 性能调优 | 请求及响应数据包大小限制,单位:字节 | 2.0.0以上版本 | dubbo.provider.payload |
path | <path> | string | 可选 | 服务发现 | 提供者上下文路径,为服务path的前缀 | 2.0.0以上版本 | dubbo.provider.path | |
server | server | string | 可选 | dubbo协议缺省为netty,http协议缺省为servlet | 性能调优 | 协议的服务器端实现类型,比如:dubbo协议的mina,netty等,http协议的jetty,servlet等 | 2.0.0以上版本 | dubbo.provider.server |
client | client | string | 可选 | dubbo协议缺省为netty | 性能调优 | 协议的客户端实现类型,比如:dubbo协议的mina,netty等 | 2.0.0以上版本 | dubbo.provider.client |
codec | codec | string | 可选 | dubbo | 性能调优 | 协议编码方式 | 2.0.0以上版本 | dubbo.provider.codec |
serialization | serialization | string | 可选 | dubbo协议缺省为hessian2,rmi协议缺省为java,http协议缺省为json | 性能调优 | 协议序列化方式,当协议支持多种序列化方式时使用,比如:dubbo协议的dubbo,hessian2,java,compactedjava,以及http协议的json,xml等 | 2.0.5以上版本 | dubbo.provider.serialization |
default | boolean | 可选 | FALSE | 配置关联 | 是否为缺省协议,用于多协议 | 1.0.16以上版本 | dubbo.provider.default | |
filter | service.filter | string | 可选 | 性能调优 | 服务提供方远程调用过程拦截器名称,多个名称用逗号分隔 | 2.0.5以上版本 | dubbo.provider.filter | |
listener | exporter.listener | string | 可选 | 性能调优 | 服务提供方导出服务监听器名称,多个名称用逗号分隔 | 2.0.5以上版本 | dubbo.provider.listener | |
threadpool | threadpool | string | 可选 | fixed | 性能调优 | 线程池类型,可选:fixed/cached/limit(2.5.3以上)/eager(2.6.x以上) | 2.0.5以上版本 | dubbo.provider.threadpool |
accepts | accepts | int | 可选 | 0 | 性能调优 | 服务提供者最大可接受连接数 | 2.0.5以上版本 | dubbo.provider.accepts |
version | version | string | 可选 | 0.0.0 | 服务发现 | 服务版本,建议使用两位数字版本,如:1.0,通常在接口不兼容时版本号才需要升级 | 2.0.5以上版本 | dubbo.provider.version |
group | group | string | 可选 | 服务发现 | 服务分组,当一个接口有多个实现,可以用分组区分 | 2.0.5以上版本 | dubbo.provider.group | |
delay | delay | int | 可选 | 0 | 性能调优 | 延迟注册服务时间(毫秒)- ,设为-1时,表示延迟到Spring容器初始化完成时暴露服务 | 2.0.5以上版本 | dubbo.provider.delay |
timeout | default.timeout | int | 可选 | 1000 | 性能调优 | 远程服务调用超时时间(毫秒) | 2.0.5以上版本 | dubbo.provider.timeout |
retries | default.retries | int | 可选 | 2 | 性能调优 | 远程服务调用重试次数,不包括第一次调用,不需要重试请设为0 | 2.0.5以上版本 | dubbo.provider.retries |
connections | default.connections | int | 可选 | 0 | 性能调优 | 对每个提供者的最大连接数,rmi、http、hessian等短连接协议表示限制连接数,dubbo等长连接协表示建立的长连接个数 | 2.0.5以上版本 | dubbo.provider.connections |
loadbalance | default.loadbalance | string | 可选 | random | 性能调优 | 负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮询,最少活跃调用 | 2.0.5以上版本 | dubbo.provider.loadbalance |
async | default.async | boolean | 可选 | FALSE | 性能调优 | 是否缺省异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程 | 2.0.5以上版本 | dubbo.provider.async |
stub | stub | boolean | 可选 | FALSE | 服务治理 | 设为true,表示使用缺省代理类名,即:接口名 + Local后缀。 | 2.0.5以上版本 | dubbo.provider.stub |
mock | mock | boolean | 可选 | FALSE | 服务治理 | 设为true,表示使用缺省Mock类名,即:接口名 + Mock后缀。 | 2.0.5以上版本 | dubbo.provider.mock |
token | token | boolean | 可选 | FALSE | 服务治理 | 令牌验证,为空表示不开启,如果为true,表示随机生成动态令牌 | 2.0.5以上版本 | dubbo.provider.token |
registry | registry | string | 可选 | 缺省向所有registry注册 | 配置关联 | 向指定注册中心注册,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔,如果不想将该服务注册到任何registry,可将值设为N/A | 2.0.5以上版本 | dubbo.provider.registry |
dynamic | dynamic | boolean | 可选 | TRUE | 服务治理 | 服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。 | 2.0.5以上版本 | dubbo.provider.dynamic |
accesslog | accesslog | string/boolean | 可选 | FALSE | 服务治理 | 设为true,将向logger中输出访问日志,也可填写访问日志文件路径,直接把访问日志输出到指定文件 | 2.0.5以上版本 | dubbo.provider.accesslog |
owner | owner | string | 可选 | 服务治理 | 服务负责人,用于服务治理,请填写负责人公司邮箱前缀 | 2.0.5以上版本 | dubbo.provider.owner | |
document | document | string | 可选 | 服务治理 | 服务文档URL | 2.0.5以上版本 | dubbo.provider.document | |
weight | weight | int | 可选 | 性能调优 | 服务权重 | 2.0.5以上版本 | dubbo.provider.weight | |
executes | executes | int | 可选 | 0 | 性能调优 | 服务提供者每服务每方法最大可并行执行请求数 | 2.0.5以上版本 | dubbo.provider.executes |
actives | default.actives | int | 可选 | 0 | 性能调优 | 每服务消费者每服务每方法最大并发调用数 | 2.0.5以上版本 | dubbo.provider.actives |
proxy | proxy | string | 可选 | javassist | 性能调优 | 生成动态代理方式,可选:jdk/javassist | 2.0.5以上版本 | dubbo.provider.proxy |
cluster | default.cluster | string | 可选 | failover | 性能调优 | 集群方式,可选:failover/failfast/failsafe/failback/forking | 2.0.5以上版本 | dubbo.provider.cluster |
deprecated | deprecated | boolean | 可选 | FALSE | 服务治理 | 服务是否过时,如果设为true,消费方引用时将打印服务过时警告error日志 | 2.0.5以上版本 | dubbo.provider.deprecated |
queues | queues | int | 可选 | 0 | 性能调优 | 线程池队列大小,当线程池满时,排队等待执行的队列大小,建议不要设置,当线程池满时应立即失败,重试其它服务提供机器,而不是排队,除非有特殊需求。 | 2.0.5以上版本 | dubbo.provider.queues |
charset | charset | string | 可选 | UTF-8 | 性能调优 | 序列化编码 | 2.0.5以上版本 | dubbo.provider.charset |
buffer | buffer | int | 可选 | 8192 | 性能调优 | 网络读写缓冲区大小 | 2.0.5以上版本 | dubbo.provider.buffer |
iothreads | iothreads | int | 可选 | CPU + 1 | 性能调优 | IO线程池,接收网络读写中断,以及序列化和反序列化,不处理业务,业务线程池参见threads配置,此线程池和CPU相关,不建议配置。 | 2.0.5以上版本 | dubbo.provider.iothreads |
telnet | telnet | string | 可选 | 服务治理 | 所支持的telnet命令,多个命令用逗号分隔 | 2.0.5以上版本 | dubbo.provider.telnet | |
<dubbo:service> | contextpath | contextpath | String | 可选 | 缺省为空串 | 服务治理 | dubbo.provider. | |
layer | layer | string | 可选 | 服务治理 | 服务提供者所在的分层。如:biz、dao、intl:web、china:acton。 | 2.0.7以上版本 | dubbo.provider.layer | |
dubbo:consumer | ||||||||
springmvc | springboot | |||||||
属性 | 对应URL参数 | 类型 | 是否必填 | 缺省值 | 作用 | 描述 | 兼容性 | |
timeout | default.timeout | int | 可选 | 1000 | 性能调优 | 远程服务调用超时时间(毫秒) | 1.0.16以上版本 | dubbo.consumer.timeout |
retries | default.retries | int | 可选 | 2 | 性能调优 | 远程服务调用重试次数,不包括第一次调用,不需要重试请设为0,仅在cluster为failback/failover时有效 | 1.0.16以上版本 | dubbo.consumer.retries |
loadbalance | default.loadbalance | string | 可选 | random | 性能调优 | 负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮询,最少活跃调用 | 1.0.16以上版本 | dubbo.consumer.loadbalance |
async | default.async | boolean | 可选 | FALSE | 性能调优 | 是否缺省异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程 | 2.0.0以上版本 | dubbo.consumer.async |
connections | default.connections | int | 可选 | 100 | 性能调优 | 每个服务对每个提供者的最大连接数,rmi、http、hessian等短连接协议支持此配置,dubbo协议长连接不支持此配置 | 1.0.16以上版本 | dubbo.consumer.connections |
generic | generic | boolean | 可选 | FALSE | 服务治理 | 是否缺省泛化接口,如果为泛化接口,将返回GenericService | 2.0.0以上版本 | dubbo.consumer.generic |
check | check | boolean | 可选 | TRUE | 服务治理 | 启动时检查提供者是否存在,true报错,false忽略 | 1.0.16以上版本 | dubbo.consumer.check |
proxy | proxy | string | 可选 | javassist | 性能调优 | 生成动态代理方式,可选:jdk/javassist | 2.0.5以上版本 | dubbo.consumer.proxy |
owner | owner | string | 可选 | 服务治理 | 调用服务负责人,用于服务治理,请填写负责人公司邮箱前缀 | 2.0.5以上版本 | dubbo.consumer.owner | |
actives | default.actives | int | 可选 | 0 | 性能调优 | 每服务消费者每服务每方法最大并发调用数 | 2.0.5以上版本 | dubbo.consumer.actives |
cluster | default.cluster | string | 可选 | failover | 性能调优 | 集群方式,可选:failover/failfast/failsafe/failback/forking | 2.0.5以上版本 | dubbo.consumer.cluster |
filter | reference.filter | string | 可选 | 性能调优 | 服务消费方远程调用过程拦截器名称,多个名称用逗号分隔 | 2.0.5以上版本 | dubbo.consumer.filter | |
listener | invoker.listener | string | 可选 | 性能调优 | 服务消费方引用服务监听器名称,多个名称用逗号分隔 | 2.0.5以上版本 | dubbo.consumer.listener | |
registry | string | 可选 | 缺省向所有registry注册 | 配置关联 | 向指定注册中心注册,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔,如果不想将该服务注册到任何registry,可将值设为N/A | 2.0.5以上版本 | dubbo.consumer.registry | |
layer | layer | string | 可选 | 服务治理 | 服务调用者所在的分层。如:biz、dao、intl:web、china:acton。 | 2.0.7以上版本 | dubbo.consumer.layer | |
init | init | boolean | 可选 | FALSE | 性能调优 | 是否在afterPropertiesSet()时饥饿初始化引用,否则等到有人注入或引用该实例时再初始化。 | 2.0.10以上版本 | dubbo.consumer.init |
cache | cache | string/boolean | 可选 | 服务治理 | 以调用参数为key,缓存返回结果,可选:lru, threadlocal, jcache等 | Dubbo2.1.0及其以上版本支持 | dubbo.consumer.cache | |
validation | validation | boolean | 可选 | 服务治理 | 是否启用JSR303标准注解验证,如果启用,将对方法参数上的注解进行校验 | Dubbo2.1.0及其以上版本支持 | dubbo.consumer.validation |
技术小白,努力学习。