背景信息

Apache ShardingSphere 提供了丰富的系统配置属性,用户可通过 server.yaml 进行配置。

参数解释

名称数据类型说明默认值动态生效
system-log-level (?)String系统日志输出级别,支持 DEBUG、INFO、WARN 和 ERROR,默认级别是 INFO。false
sql-show (?)boolean是否在日志中打印 SQL。
打印 SQL 可以帮助开发者快速定位系统问题。日志内容包含:逻辑 SQL,真实 SQL 和 SQL 解析结果。
如果开启配置,日志将使用 Topic ShardingSphere-SQL,日志级别是 INFO。
false
sql-simple (?)boolean是否在日志中打印简单风格的 SQL。false
kernel-executor-size (?)int用于设置任务处理线程池的大小。每个 ShardingSphereDataSource 使用一个独立的线程池,同一个 JVM 的不同数据源不共享线程池。infinite
max-connections-size-per-query (?)int一次查询请求在每个数据库实例中所能使用的最大连接数。1
check-table-metadata-enabled (?)boolean在程序启动和更新时,是否检查分片元数据的结构一致性。false
proxy-frontend-flush-threshold (?)int在 ShardingSphere-Proxy 中设置传输数据条数的 IO 刷新阈值。128
proxy-backend-query-fetch-size (?)intProxy 后端与数据库交互的每次获取数据行数(使用游标的情况下)。数值增大可能会增加 ShardingSphere Proxy 的内存使用。默认值为 -1,代表设置为 JDBC 驱动的最小值。-1
proxy-frontend-executor-size (?)intProxy 前端 Netty 线程池线程数量,默认值 0 代表使用 Netty 默认值。0
proxy-frontend-max-connections (?)int允许连接 Proxy 的最大客户端数量,默认值 0 代表不限制。0
proxy-default-port (?)StringProxy 通过配置文件指定默认端口。3307
proxy-netty-backlog (?)intProxy 通过配置文件指定默认netty back_log参数。1024
proxy-frontend-database-protocol-type (?)StringProxy 前端协议类型,支持 MySQL,PostgreSQL 和 openGauss“”
proxy-frontend-ssl-enabled (?)booleanProxy 前端启用 SSL/TLS。false
proxy-frontend-ssl-version (?)String要启用的 SSL/TLS 协议。空白以使用默认值。TLSv1.2,TLSv1.3
proxy-frontend-ssl-cipher (?)String按偏好顺序启用的密码套件。用逗号分隔的多密码套件。空白以使用默认值。“”

属性配置可以通过 DistSQL#RAL 在线修改。 其中支持动态修改的属性立即生效,不支持动态修改的属性在重启后生效。

配置示例

完整配置示例请参考 ShardingSphere 仓库内的 server.yamlhttps://github.com/apache/shardingsphere/blob/aac0d3026e00575114701be603ec189a02a45747/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/resources/conf/server.yaml#L71-L93