| # server启动引导配置 bootstrap:   # 全局日志   logger:     ${日志scope名称,主要支持 config/auth/store/naming/cache/xdsv3/default}:       rotateOutputPath: ${日志文件位置}       errorRotateOutputPath: ${专门记录error级别的错误日志文件}       rotationMaxSize: ${单个日志文件大小最大值, 默认 100, 单位为 mb}       rotationMaxBackups: ${最大保存多少个日志文件, 默认 10}       rotationMaxAge: ${单个日志文件最大保存天数, 默认 7}       outputLevel: ${日志输出级别,debug/info/warn/error}   # 按顺序启动server   startInOrder:     open: true # 是否开启,默认是关闭     key: sz # 全局锁,锁的名称,根据锁名称进行互斥启动   # 注册为北极星服务   polaris_service:     probe_address: ${北极星探测地址,用于获取当前北极星server自身对外的IP, 默认为 ##DB_ADDR##}     enable_register: ${是否允许当前北极星进程进行自注册,即将自身的系统级服务注册通过北极星的服务注册能力进行注册,默认为 true}     isolated: ${注册的实例是否需要处理隔离状态,默认为 false}     services:       - name: polaris.checker # 北极星健康检查需要的系统级服务,根据该服务下的实例,进行健康检查任务的 hash 责任划分         protocols: # 注册的实例需要暴露的协议,即注册端口号           - service-grpc # apiserver,北极星对外协议实现层 apiservers:   - name: service-eureka # 北极星支持 eureka 协议的协议层插件     option:       listenIP: "0.0.0.0"          # tcp server 的监听 ip       listenPort: 8761             # tcp server 的监听端口       namespace: default           # 设置 eureka 服务默认归属的北极星命名空间       refreshInterval: 10          # 定期从北极星的cache模块中拉取数据,刷新 eureka 协议中的数据缓存       deltaExpireInterval: 60      # 增量缓存过期周期       unhealthyExpireInterval: 180 # 不健康实例过期周期       connLimit:                   # 链接限制配置         openConnLimit: false       # 是否开启链接限制功能,默认 false         maxConnPerHost: 1024       # 每个IP最多的连接数         maxConnLimit: 10240        # 当前listener最大的连接数限制         whiteList: 127.0.0.1       # 该 apiserver 的白名单 IP 列表,英文逗号分隔         purgeCounterInterval: 10s  # 清理链接行为的周期         purgeCounterExpired: 5s    # 清理多久不活跃的链接   - name: api-http                 # 北极星自身 OpenAPI 协议层     option:       listenIP: "0.0.0.0"          # tcp server 的监听 ip       listenPort: 8090             # tcp server 的监听端口       enablePprof: true            # 是否开启 golang 的 debug/pprof 的数据采集       enableSwagger: true          # 是否开启 swagger OpenAPI doc 文档数据生成     api:                           # 设置允许开放的 api 接口类型       admin:                       # 运维管理 OpenAPI 接口         enable: true       console:                     # 北极星控制台 OpenAPI 接口         enable: true         include: [default]         # 需要暴露的 OpenAPI 分组       client:                      # 北极星客户端相关 OpenAPI 接口         enable: true         include: [discover, register, healthcheck]       config:                      # 北极星配置中心相关 OpenAPI 接口         enable: true         include: [default]   - name: service-grpc             # 北极星基于 gRPC 协议的客户端通信协议层,用于注册发现、服务治理     option:       listenIP: "0.0.0.0"       listenPort: 8091       enableCacheProto: true       # 是否开启 protobuf 解析缓存,对于内容一样的protobuf减少序列化       sizeCacheProto: 128          # protobuf 缓存大小       tls:                         # 协议层支持 tls 的配置         certFile: ""         keyFile: ""         trustedCAFile: ""     api:       client:         enable: true         include: [discover, register, healthcheck]   - name: config-grpc              # 北极星基于 gRPC 协议的客户端通信协议层,用于配置中心     option:       listenIP: "0.0.0.0"       listenPort: 8093       connLimit:         openConnLimit: false         maxConnPerHost: 128         maxConnLimit: 5120     api:       client:         enable: true   - name: xds-v3                   # 北极星实现的 xDSv3 协议层     option:       listenIP: "0.0.0.0"       listenPort: 15010       connLimit:         openConnLimit: false         maxConnPerHost: 128         maxConnLimit: 10240 # 核心逻辑的配置 auth:   # 鉴权插件   name: defaultAuth   option:     # token 加密的 salt,鉴权解析 token 时需要依靠这个 salt 去解密 token 的信息     # salt 的长度需要满足以下任意一个:len(salt) in [16, 24, 32]     salt: polarismesh@2021     # 控制台鉴权能力开关,默认开启     consoleOpen: true     # 客户端鉴权能力开关, 默认关闭     clientOpen: false namespace:   # 是否允许自动创建命名空间   autoCreate: true naming:   auth:     open: false   # 批量控制器   batch:     ${批量控制器配置,支持 register/deregister/clientRegister/clientDeregister}:       open: true                 # 是否开启该批量控制器       queueSize: 10240           # 暂存任务数量       waitTime: 32ms             # 任务未满单次 Batch 数量的最大等待时间,时间到直接强制发起 Batch 操作       maxBatchCount: 128         # 单次 Batch 数量       concurrency: 128           # 处于批任务的 worker 协程数量       dropExpireTask: true       # 是否开启丢弃过期任务,仅用于 register 类型的批量控制器       taskLife: 30s              # 任务最大有效期,超过有效期则任务不执行,仅用于 register 类型的批量控制器 # 健康检查的配置 healthcheck:   open: true                     # 是否开启健康检查功能模块   service: polaris.checker       # 参与健康检查任务的实例所在的服务   slotNum: 30                    # 时间轮参数   minCheckInterval: 1s           # 用于调整实例健康检查任务在时间轮内的下一次执行时间,限制最小检查周期   maxCheckInterval: 30s          # 用于调整实例健康检查任务在时间轮内的下一次执行时间,限制最大检查周期   clientReportInterval: 120s     # 用于调整SDK上报实例健康检查任务在时间轮内的下一次执行时间   batch:                         # 健康检查数据的批量写控制器     heartbeat:       open: true       queueSize: 10240       waitTime: 32ms       maxBatchCount: 32       concurrency: 64   checkers:                      # 健康检查启用插件列表,当前支持 heartbeatMemory/heartbeatRedis,由于二者属于同一类型健康检查插件,因此只能启用一个     - name: heartbeatMemory      # 基于本机内存实现的健康检查插件,仅适用于单机版本     - name: heartbeatRedis       # 基于 redis 实现的健康检查插件,适用于单机版本以及集群版本       option:         kvAddr: ##REDIS_ADDR##   # redis 地址,IP:PORT 格式         # ACL user from redis v6.0, remove it if ACL is not available         kvUser: ##REDIS_USER#    # 如果redis版本低于6.0,请直接移除该配置项         kvPasswd: ##REDIS_PWD##  # redis 密码         poolSize: 200            # redis 链接池大小         minIdleConns: 30         # 最小空闲链接数量         idleTimeout: 120s        # 认为空闲链接的时间         connectTimeout: 200ms    # 链接超时时间         msgTimeout: 200ms        # redis的读写操作超时时间         concurrency: 200         # 操作redis的worker协程数量         withTLS: false # 配置中心模块启动配置 config:   # 是否启动配置模块   open: true   cache:     #配置文件缓存过期时间,单位s     expireTimeAfterWrite: 3600 # 缓存配置 cache:   open: true   resources:     - name: service # 加载服务数据       option:         disableBusiness: false # 不加载业务服务         needMeta: true # 加载服务元数据     - name: instance # 加载实例数据       option:         disableBusiness: false # 不加载业务服务实例         needMeta: true # 加载实例元数据     - name: routingConfig # 加载路由数据     - name: rateLimitConfig # 加载限流数据     - name: circuitBreakerConfig # 加载熔断数据     - name: users # 加载用户、用户组数据     - name: strategyRule # 加载鉴权规则数据     - name: namespace # 加载命名空间数据     - name: client # 加载 SDK 数据 # 存储配置 store:   # 单机文件存储插件   name: boltdbStore   option:     path: ./polaris.bolt   ## 数据库存储插件   # name: defaultStore   # option:   #   master:                                     # 主库配置, 如果要配置 slave 的话,就把 master 替换为 slave 即可   #     dbType: mysql                             # 数据库存储类型   #     dbName: polaris_server                    # schema 名称   #     dbUser: ##DB_USER##                       # 数据库用户   #     dbPwd: ##DB_PWD##                         # 数据库用户密码   #     dbAddr: ##DB_ADDR##                       # 数据库连接地址,HOST:PORT 格式   #     maxOpenConns: 300                         # 最大数据库连接数   #     maxIdleConns: 50                          # 最大空闲数据库连接数   #     connMaxLifetime: 300 # 单位秒              # 连接的最大存活时间,超过改时间空闲连接将会呗释放   #     txIsolationLevel: 2 #LevelReadCommitted # 插件配置 plugin: # 本次暂不涉及,后续文章在详细说明 |