基础配置
注意
配置文件为yaml格式,需要严格按照yaml格式书写,否则会报错。
1.rpc服务端配置
服务发现
目前只支持etcd、zookeeper、consul。
rpcServer:
serverName: "authorize"
registerPlugin: "etcd"
registerServers:
- "127.0.0.1:2379"
basePath: "go-admin"
addr: ""
port: 7655
pprof: 7654
serverName
: 服务名称,作服务发现keyregisterPlugin
: 服务注册类型。目前支持etcd、zookeeper、consulregisterServers
: 服务注册地址basePath
: etcd服务发现的根目录(一般为项目名)addr
: rpc服务地址,一般不填。k8s集群部署时,填写service地址port
: rpc服务端口pprof
: rpc服务pprof端口
2.rpc客户端配置
rpcClient:
clientName: "internal-gateway"
basePath: "go-admin"
registerPlugin: "etcd"
registerServers:
- "127.0.0.1:2379"
failRetryModel: 3
balanceModel: 2
poolSize: 1
clientName
: 客户端名称registerPlugin
: 服务注册类型。目前支持etcd、zookeeper、consulregisterServers
: 服务注册地址basePath
: etcd服务发现的根目录(一般为项目名)failRetryModel
: 失败重试模式。balanceModel
: 负载均衡模式。poolSize
: 连接池大小。
关于
支持的负载均衡模式以及失败重试模式可在rpc进阶中了解。前往
默认:
failRetryModel
:选择相同节点并重试,直到达到最大重试次数balanceModel
:使用 roundrobin 算法选择节点
3.http配置
httpServer:
port: 8080
pprof: 8088
rpcServer:
model: 1
serverName: "服务名"
etcd: ["127.0.0.1:2379"]
basePath: "go-admin-example"
port
: http服务端口pprof
: http服务pprof端口
4.数据库配置
数据库类型
目前只支持mysql
db:
dbType: "mysql"
maxOpenConn: 20
maxIdleConn: 4
maxIdleTime: 100
maxLifeTime: 3600
level: 4
slowThreshold: "100ms"
master:
user: "root"
password: "password"
host: "127.0.0.1"
port: "3306"
database: "database"
slave:
- user: "root"
password: "password"
host: "127.0.0.1"
port: "3306"
database: "database"
dbType
: 数据库类型maxOpenConn
: 最大打开连接数maxIdleConn
: 最大空闲连接数maxIdleTime
: 最大空闲时间maxLifeTime
: 最大生命周期level
: 日志级别slowThreshold
: 慢日志阈值master
: 主库配置slave
: 从库配置
5.redis配置
redis模式
目前支持单机(alone), 哨兵(sentinel), 集群(cluster)
redis:
redisType: "alone"
startAddr: ["127.0.0.1:6379"]
active: 100
idle: 100
auth: ""
connTimeout: "100ms"
readTimeout: "100ms"
writeTimeout: "100ms"
idleTimeout: "100ms"
redisType
: redis类型network
: 单机地址startAddr
: 哨兵或集群地址active
: 最大活跃连接数idle
: 最大空闲连接数auth
: 密码connTimeout
: 连接超时时间readTimeout
: 读超时时间writeTimeout
: 写超时时间idleTimeout
: 空闲超时时间
6.日志配置
日志等级
0紧急的 1警报 2重要的 3错误 4警告 5提示 6信息 7调试
logger:
consoleShow: true
consoleLevel: 7
fileWrite: false
fileLevel: 7
multiFileWrite: false
multiFileLevel: 7
consoleShow
: 是否打印到控制台consoleLevel
: 控制台日志级别fileWrite
: 是否写入文件fileLevel
: 文件日志级别multiFileWrite
: 是否写入多个文件multiFileLevel
: 多文件日志级别
7.链路追踪配置
注意
该配置只会影响链路上报,不会影响正常的日志标记
tracer:
openTrace: false
traceName: "服务名"
host: "127.0.0.1:6831"
openTrace
: 是否开启链路追踪traceName
: 服务名host
: 链路追踪上报地址