GlobalConfig(全局配置)

August 16, 2024 · View on GitHub

全局配置定义了全局共享的配置,主要有容器,环境相关的配置。

配置详情

配置域配置名称配置类型默认值是否废弃配置解释
globalnamespacestring环境类型,分正式环境(Production)和非正式环境(Development)两种类型,支持自定义
globalenv_namestring环境名称,非正式环境下多环境的名称
globalcontainer_namestring容器名称
globalenable_setstring是否启动分set路由,默认不开启, Y 开启
globalfull_set_namestringset 名称
globalextmap全局扩展参数

ServerConfig(服务端配置)

服务端配置定义了服务端相关配置、管理配置(AdminConfig)、服务映射列表配置(ServiceConfig) 服务映射配置(ServiceConfig)又包含了服务暴露列表配置(ProviderConfig)。

配置详情

配置域配置名称配置类型默认值是否废弃配置解释
serverappstring业务的应用名
serverserverstring业务的服务名
serverlocal_ipstring127.0.0.1本机ip
servernicstring本机网卡(eth1等),用于获取本机ip,如果配置了local_ip这个参数就不会生效。支持配置多个网卡,越靠前优先级越高,如eth1,eth2,eth3
serverserver_listenerstring 列表注册服务端通用Listener, 实现 ServerListener 接口的类, 配置实现类的全路径
serverclose_timeoutint30000ms关闭服务线程池的超时时间
serverwait_timeoutint5000ms反注册服务后,等待时间
serverrequest_timeoutint2147483647 ms请求超时时间(服务端全局)
serverworker_poolstringtrpc_provider_biz_def工作线程池名称,默认值
serverfiltersstring 列表filter 列表配置
serverenable_link_timeoutbooleanfalse是否开启全链路超时,默认不开启
serverconfig_centerstring使用的配置中心[nacos]
serveradminmapadmin 管理后台配置
serverservicemap暴露服务配置
server.adminadmin_ipstring管理后台ip
server.adminadmin_portint管理后台端口
server.servicenamestring用于名字服务寻址
server.serviceversionstringv1.0.0服务版本号
server.servicegroupstringnormal服务分组
server.serviceimpls列表暴露服务的实现列表,根据实现找到接口
server.service.implsimplstring服务实现
server.service.implsworker_poolstring线程池名称
server.service.implsrequest_timeoutstring超时时间
server.service.implsfiltersstring过滤器列表
server.service.implsenable_link_timeoutstring全链路超时
server.serviceipstring本机IP
server.servicenicstring用于获取本机ip ,一般配置 ip
server.serviceportint端口
server.servicenetworkstringtcp网络连接协议, [tcp、udp]
server.serviceprotocolstringtrpc通信协议,[trpc、http、rest]
server.servicebase_pathstringtrpc基础路径,前缀路径
server.serviceserializationstringpb序列化协议, [pb、json、jpb(java pb)]
server.servicecompressorstringnone压缩方式, [none、gzip、snappy]
server.servicecompress_min_bytesint65535压缩最小字节数,默认64KB,即使开启压缩,但body小于该字节时,则强制不压缩
server.servicetransporterstringnettytransporter 服务端, [netty、jetty], jetty 需配合 protocol=http 一起使用
server.servicecharsetstringutf8字符集
server.servicekeep_alivebooleantrue是否保持长连接
server.servicemax_connsint1024 * 20最大连接数
server.servicebacklogint1024backlog大小,对应netty的 so_backlog
server.servicesend_bufferint16384发送缓冲区
server.servicereceive_bufferint16384接收缓冲区
server.servicepayloadint10485760(10M)限制包大小
server.serviceidle_timeoutint180000ms空闲时间
server.servicerequest_timeoutint2147483647 ms请求超时时间
server.servicelazyinitbooleanfalse是否延迟初始化
server.serviceio_modestringepollio模式 [epoll]
server.serviceio_thread_group_sharebooleantrueio线程是否共享
server.serviceio_threadsintcpus * 2io线程数量
server.serviceboss_threadsint1boss线程数量 接受请求的线程数量默认1为最优解,也根据实际场景可自行设置
server.serviceext_mapmap扩展配置
server.serviceworker_poolstringtrpc_provider_biz_def线程池名称
server.serviceregistrysmap多注册中心配置
server.servicefiltersstring 列表filter 列表配置
server.serviceenable_link_timeoutbooleanfalse是否开启全链路超时,默认不开启
server.servicereuse_portbooleanfalse是否开启 reusePort 选项
server.serviceis_batch_decoderbooleantrue是否开启批量解码
server.serviceexplicit_flush_after_flushesint2048高吞吐量flush

ClientConfig(客户端配置)

服务端配置定义了客户端相关配置(netty等配置)、客户端映射列表配置(BackendConfig)。

配置详情

配置域配置名称配置类型默认值是否废弃配置解释
clientnamespacestring环境类型,分正式环境(Production)和非正式环境(Development)两种类型, 不配置时使用全局配置
clientrequest_timeoutint1000ms客户端全局请求超时时间
clientprotocolstringtrpc(客户端全局)请求通信协议 [trpc、http]
clientnetworkstringtcp(客户端全局)请求连接协议,[tcp, udp]
clientserializationstringPB(客户端全局)序列化协议,[pb、json、jpb(java pb)]
clientcompressorstringnone(客户端全局)压缩方式,[none、gzip、snappy]
clientcompress_min_bytesint65535(客户端全局)压缩最小字节数,默认64KB,即使开启压缩,但body小于该字节时,则强制不压缩
clientcharsetstringUTF-8(客户端全局)字符集编码格式
clientsend_bufferint16384(客户端全局)发送缓冲区大小
clientreceive_bufferint16384(客户端全局)接收缓冲区大小
clientkeep_alivebooleantrue(客户端全局)是否保持长连接
clientio_thread_group_sharebooleantrue(客户端全局)是否是线程组共享模式
clientio_threadsintcpus * 2(客户端全局)IO线程数量
clienttransporterstringnetty(客户端全局)transporter
clientidle_timeoutint180000 ms(客户端全局)空闲超时时间
clientlazyinitbooleanfalse(客户端全局)是否延迟初始化
clientconns_per_addrint2(客户端全局)单个addr连接数
clientconn_timeoutint1000ms(客户端全局)客户端建立连接超时间
clientworker_poolstringtrpc_consumer_biz_def(客户端全局)线程池id
clientfiltersstring 列表(客户端全局)拦截器列表
clientinterceptorsstring 列表(客户端全局)ClusterInvoker 拦截器,和filters之前拦截
clientcluster_config_mapmaptrpc客户端集群配置,代码已实现
clientcaller_service_namestring(客户端全局)主调服务北极星名,polaris寻址支持
clientservicemaptrpc客户端配置
client.servicenamestring"@BackendConfig(" + nameGeneratorIndex.getAndAdd(1) + ")"后台集群名称(用于通过TRpcProxy查找)
client.serviceversionstringv1.0.0服务版本号
client.servicegroupstringnormal服务分组
client.serviceinterfacestringtrpc 客户端具体接口
client.servicenaming_urlstring路由发现 @Alias(target),java推荐使用.naming配置,直连 ip://ip:port, 名字服务: polaris://trpc.TestApp.TestServer.Greeter?key=value&key=value l5://mid:cmid cmlb://id
client.servicenaming_mapmap扩展参数
client.servicenamespacestring环境类型,分正式环境(Production)和非正式环境(Development)两种类型, 不配置时使用全局配置
client.servicecalleestringserviceName主调信息
client.servicenetworkstringtcp网络连接协议, [tcp、udp]
client.serviceprotocolstringtrpc通信协议,[trpc、http])
client.serviceserializationstringpb序列化协议, [pb、json、jpb(java pb)]
client.servicecompressorstringno压缩方式, [none、gzip、snappy]
client.servicecompress_min_bytesint65535压缩最小字节数,默认64KB,即使开启压缩,但body小于该字节时,则强制不压缩
client.servicetransporterstringnettytransporter 服务端, [netty、jetty], jetty 需配合 protocol=http 一起使用
client.servicecharsetstringutf8字符集
client.servicekeep_alivebooleantrue是否保持长连接
client.servicemax_connsint1024 * 20客户端最大连接数
client.servicesend_bufferint16384发送缓冲区
client.servicereceive_bufferint16384接收缓冲区
client.servicepayloadint10485760(10M)限制包大小
client.serviceidle_timeoutint180000ms空闲时间
client.servicerequest_timeoutint10000ms请求超时时间
client.serviceconn_timeoutint1000ms客户端建立连接超时间
client.serviceconns_per_addrint2客户端连接数
client.servicelazyinitbooleanfalse是否延迟初始化
client.serviceio_thread_group_sharebooleantrueio线程是否共享
client.serviceio_threadsintcpus * 2io线程数量
client.serviceext_mapmap扩展配置
client.servicenaming_mapmap北极星扩展配置
client.service.naming_mapmetadatamap北极星元数据配置
client.servicemockbooleanfalse是否mock, 默认 false
client.servicemock_classstringmock类
client.serviceworker_poolstringtrpc_consumer_biz_def线程池名称
client.servicefiltersstring 列表filter 列表配置
client.serviceis_batch_decoderbooleantrue是否开启批量解码
client.serviceexplicit_flush_after_flushesint2048高吞吐量flush
client.servicecaller_service_namestring主调服务北极星名,polaris寻址支持

PluginConfig(插件配置)

插件配置负责加载所有框架的插件配置

配置详情

首先列出支持的插件,然后是插件具体的配置参数。

插件列表

配置域配置名称配置类型默认值是否废弃配置解释已有实现
pluginsworker_poolmap工作池thread
pluginsconfigstring远程配置nacos
pluginsfilterstringfilteropentelemetry
pluginsselectorstring路由选择器polaris, ip, zookeeper
pluginsregistrystring注册中心polaris
pluginstelemetrystring链路追踪opentelemetry
pluginslimiterstring限流sentinel

worker_pool(线程池)

配置域配置名称配置类型默认值是否废弃配置解释
plugins.worker_pool'name'-线程池名称map线程池名称,及具体项目配置
plugins.worker_pool.name_typestring填写插件的名字,用于寻找插件,[default, thread, forkJoinPool],当该项不配置时,则使用 name 作为插件名称寻找插件
plugins.worker_pool.namecore_pool_sizeintcpus * 2核心线程数
plugins.worker_pool.namemaximum_pool_sizeintcpus * 2最大线程数量
plugins.worker_pool.namekeep_alive_time_secondsint60s线程最长空闲时间
plugins.worker_pool.namequeue_sizeint0队列大小 0 表示无限制
plugins.worker_pool.nameallow_core_thread_timeoutbooleantrue是否超时回收核心线程
plugins.worker_pool.namename_prefixstring线程池中线程名称前缀
plugins.worker_pool.namedeamonbooleantrue是否是守护线程
plugins.worker_pool.nameclose_timeoutint10s超时时间
plugins.worker_pool.nameuse_fiberbooleanfalse是否使用协程
plugins.worker_pool.namefiber_parallelintcpus协程的调度线程池并行度级别
plugins.worker_pool.nameshare_schedulebooleantrue协程池是否共享调度器
plugins.worker_pool.forkJoinPoolparallelint2并行数
plugins.worker_pool.forkJoinPooltimeoutMsint2000线程池关闭超时时间,单位毫秒