一、数据库连接池
spring:
datasource:
#连接池类型
type: com.zaxxer.hikari.HikariDataSource
#HikariCP将尝试通过仅基于jdbcUrl的DriverManager解析驱动程序,但对于一些较旧的驱动程序,还必须指定driverClassName
driver-class-name: com.mysql.jdbc.Driver
sql-script-encoding: UTF-8
name: hikariCP
hikari:
连接池名称
pool-name: Retail_HikariCP
#最小空闲连接,默认值10,小于0或大于maximum-pool-size,都会重置为maximum-pool-size
minimum-idle: 5
#最大连接数,小于等于0会被重置为默认值10;大于零小于1会被重置为minimum-idle的值
maximum-pool-size: 100
#是否开启自动提交,默认true
auto-commit: true
#用于测试连接是否可用的查询语句
connection-test-query: SELECT 1
#连接超时时间:毫秒,小于250毫秒,否则被重置为默认值30秒
connection-timeout: 3000
#连接将被测试活动的最大时间量:单位毫秒
validation-timeout: 2000
#空闲连接超时时间,默认值600000(10分钟),大于等于max-lifetime且max-lifetime>0,会被重置为0;不等于0且小于10秒,会被重置为10秒。
idle-timeout: 60000
# 连接最大存活时间,不等于0且小于30秒,会被重置为默认值30分钟.设置应该比mysql设置的超时时间短
max-lifetime: 1800000
#该属性设置一个SQL语句,在将每个新连接创建后,将其添加到池中之前执行该语句。
connection-init-sql: "SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;"
data-source-properties:
serverTimezone: GMT+8
useTimezone: true
zeroDateTimeBehavior: round
characterEncoding: utf8
cachePrepStmts: true
prepStmtCacheSize: 128
prepStmtCacheSqlLimit: 1024
useSSL: false
useUnicode: true
二、redis连接池
spring:
redis:
timeout: 1000
pool:
max-active: 50
max-idle: 16
min-idle: 10
三、hystrix配置
hystrix:
threadpool:
default:
coreSize: 16
maximumSize: 100 #针对 某个服务的工作线程数最大值, 如果你访问依赖多个 服务 hystrix 是会有多个线程池
#hystrix 线程池队列大小,如果队列太大, 那么所有任务都会在这个队列里面,造成hystrix 线程数涨不上去
maxQueueSize: 50
#队列上限 队列操过这个上限的话就会报错 java.util.concurrent.RejectedExecutionException: Rejected command because thread-pool queueSize is at rejection threshold.
queueSizeRejectionThreshold: 60
allowMaximumSizeToDivergeFromCoreSize: true
command:
default:
execution:
isolation:
thread:
# 线程执行任务的最大超时时间,超过这个时间点认为是超时, 所以此时间要 大于 fegin的超时时间,
#小于外层超时时间
timeoutInMilliseconds: 8000
四、tomcat配置
server:
tomcat:
max-threads: 200
max-connections: 20000
accesslog:
enabled: true
pattern: "%h %l %u %t %r %s %b %D"
五、Feign配置
feign:
httpclient:
enabled: false
#连接保持时间(s)
timeToLive: 50
#最大连接数
maxConnections: 200
#连接超时时间
connectionTimeout: 2000
okhttp:
enabled: true
hystrix:
enabled: true
client:
config:
default:
connect-timeout: 5000
read-timeout: 5000
ribbon:
ConnectTimeout: 5000 #单位ms,请求处理的超时时间
MaxAutoRetries: 1 #同一台实例最大重试次数,不包括首次调用
MaxAutoRetriesNextServer: 1 #重试负载均衡其他的实例最大重试次数,不包括首次调用
OkToRetryOnAllOperations: false #是否所有操作都重试