配置模版
global: #全局配置
namespace: ${namespace} #环境类型,分正式 Production 和非正式 Development 两种类型
env_name: '${env_name}' #环境名称,非正式环境下多环境的名称
container_name: ${container_name} #容器名称
local_ip: ${local_ip} #本地 IP,容器内为容器 IP,物理机或虚拟机为本机 IP
enable_set: ${enable_set} #是否启用set
full_set_name: ${full_set_name} #set名
server:
app: ${app} #业务的应用名
server: ${server} #进程服务名
bin_path: /usr/local/trpc/bin/ #二进制可执行文件和框架配置文件所在路径
conf_path: /usr/local/trpc/conf/ #业务配置文件所在路径
data_path: /usr/local/trpc/data/ #数据文件所在路径
admin_port: ${ADMIN_PORT} #管理命令服务端口
admin_ip: ${trpc_admin_ip} #管理命令服务监听 IP 地址
startup_mode: worker # 'worker' | 'child_process'
instances: 3 #需要启动的 worker 数。auto:物理核数; max:逻辑核数
http_threshold: 400 #http server 流量异常统计状态码阈值,大于该值将被计入异常
service: #业务服务提供的service,可以有多个
- name: trpc.${app}.${server}.Greeter #service 的路由名称
ip: ${ip} #服务监听 IP 地址
network: tcp #网络监听类型 tcp udp
protocol: web #应用层协议。`web` 表示 httpServer 容器
timeout: 1000 #请求最长处理时间,ms
idle_time: 300000 #连接空闲时间,ms
max_conn_num: 100000 #最大连接数目
queue_size: 2000000 #接收队列大小
queue_timeout: 5000 #请求在接收队列的超时时间,ms
registry: polaris #服务启动时使用的服务注册方式
check_active: 1 #是否需要探测端口可用,如果开启,仅当端口可用才会上报心跳
client: #client配置
timeout: 5000 #针对所有后端的请求最长处理时间,ms
idle_time: 300000 #连接空闲时间,ms
queue_size: 10000 #请求队列大小
queue_timeout: 5000 #请求在请求队列的超时时间,ms
plugins:
registry:
polaris:
namespace: ${namespace}
heartbeat_interval: ${polaris_heartbeat_interval} #名字注册服务心跳上报间隔
heartbeat_timeout: ${polaris_refresh_interval} #名字服务心跳超时
# if (node satisfies "^8.13.0 || >=10.10.0"), use `grpc`, else `http`
address_list: ${polaris_address_grpc_list} #名字服务远程地址列表, ip1:port1,ip2:port2,ip3:port3
protocol: grpc #北极星交互协议支持 http,grpc,trpc
#address_list: ${polaris_address_http_list}
#protocol: http
selector:
polaris:
# if (node satisfies "^8.13.0 || >=10.10.0"), use `grpc`, else `http`
address_list: ${polaris_address_grpc_list} #名字服务远程地址列表, ip1:port1,ip2:port2,ip3:port3
protocol: grpc #北极星交互协议支持 http,grpc,trpc
#address_list: ${polaris_address_http_list}
#protocol: http
config:
tconf: # tconf 远程配置中心的名字
app_id: ${app}.${server} # 拉取远程配置的 appId
ns: ${namespace} # 名字服务上的环境类型
env_name: '${env_name}' # 多环境名称
timeout: 3000 # 拉取远程配置超时时间,ms
use_polaris: true # 使用 polaris 获取 tconf 节点信息
address_list: ${tconf_address_list} # tconf 云端寻址,如:9.22.35.10:10054
refresh_interval: 10000 # 配置同步更新的时间间隔,ms
log:
default:
- writer: console #控制台标准输出 默认
level: debug #标准输出日志的级别
- writer: dateFile #本地文件日志,按时间格式滚动
level: info #本地文件滚动日志的级别
writer_config:
log_path: ${log_path} #本地文件滚动日志存放的路径
max_age: 7 #最大日志文件保留天数
compress: false #日志文件是否压缩
- writer: file #本地文件日志,按时间格式滚动
level: info #本地文件滚动日志的级别
writer_config:
log_path: ${log_path} #本地文件滚动日志存放的路径
max_size: 400 #本地文件滚动日志的大小 单位 MB
max_backups: 10 #最大日志文件保留数
compress: false #日志文件是否压缩
- writer: atta #atta远程日志
level: debug #远程日志的级别
remote_config: #远程日志配置,业务自定义结构
agent_address: ${atta_agent_address} #atta agent地址 默认127.0.0.1:6588,平台侧整体维护
atta_id: '***' #注意用单引号,否则可能解析成数字,在 atta 内报错
atta_token: '***' #注意用单引号,否则可能解析成数字,在 atta 内报错
metrics:
m007: #m007 monitor
# reportInterval: 60000 #上报间隔[可选,默认为60000]
namespace: ${namespace} #环境类型,分正式 Production 和非正式 Development 两种类型。[与 global.namespace 一致]
env_name: '${env_name}' #环境名称,[与 global.namespace 一致]
app: ${app} #业务名。[可选,未配置则与 server.app 一致]
server: ${server} #服务名。[可选,未配置则与 server.server 一致]
ip: ${local_ip} #本机IP。[可选,未配置则与 global.local_ip 一致]
containerName: ${container_name} #容器名称。[可选,未配置则与 global.container_name 一致]
containerSetId: ${full_set_name} #容器 setId,支持多 set [可选,默认无]
version: v0.0.1 #服务版本 [可选,默认无]
# frameCode: trpc #框架版本 trpc grpc 等 [可选,默认为trpc]
# prefixMetrics: pp_trm #累积量和时刻量前缀[可选,默认为pp_trm]
# prefixActiveModCall: pp_tra #模调主调属性前缀[可选,默认为pp_tra]
# prefixPassiveModCall: pp_trp #模调被调属性前缀[可选,默认为pp_trp]
# prefixCustom: pp_trc #Custom前缀[可选,默认为pp_trc]
tracing:
tjg:
appid: trpc_${app}
service_name: trpc.${app}.${server}
hostname: ${container_name}
local_addr: ${local_ip}
local_port: 0
sampler:
type: mix
mix:
sample_rate: 1024
min_speed_rate: 1
max_speed_rate: 10
reporter:
type: atta
atta:
atta_id: "0af00000141" #不能修改
atta_token: "7913895459" #不能修改
log_atta_id: "0c000006190" #不能修改
log_atta_token: "9155347633" #不能修改真实服务端的实际运行时配置
child::
Transclude of 腾讯trpc运行时配置示例