配置
优质
小牛编辑
134浏览
2023-12-01
Uragano支持硬编码通过方法参数传入配置,也支持Json文件配置,还支持 环境变量 配置
本分只介绍json文件配置,以下是一个完整的Json配置示例
{
"Uragano": {
"Server": {
"Address": "{LOCALIP}",
"Port": 5001,
"Weight": 100,
"certUrl": "",
"certPwd": "",
},
"Client": {
"DefaultCert": {
"url": "",
"pwd": ""
},
"ServicesCert": {
"RPC": {
"url": "",
"pwd": ""
}
}
},
"ServiceDiscovery": {
"Consul": {
"Client": {
"Address": "http://192.168.1.254:8500",
"Token": "5ece74af-19d1-0e61-b25c-b9665d29f50b",
"datacenter": "dc1",
"timeout": 10
},
"Service": {
"Id": null,
"Name": "RPC",
"tags": ["tag"],
"EnableTagOverride": false,
"meta": {"k":"v"},
"HealthCheckInterval": 10
}
},
"ZooKeeper": {
"Client": {
"ConnectionString": "localhost:2181",
"SessionTimeout": 10000,
"CanBeReadOnly": false
},
"Service": {
"Name": "RPC",
"Id": null
}
}
},
"CircuitBreaker": {
"Polly": {
"timeout": 2000,
"retry": 3,
"ExceptionsAllowedBeforeBreaking": 10,
"DurationOfBreak": 60000,
"MaxParallelization": 0,
"MaxQueuingActions": 0
}
},
"Caching": {
"Redis": {
"KeyPrefix": "Uragano",
"ExpireSeconds": 3600,
"ConnectionStrings": [
{
"Host": "192.168.1.254",
"Port": 6379,
"Password": "nihao123",
"DefaultDatabase": 13,
"PoolSize": 50,
"SSL": false,
"ConnectionTimeout": -1,
"PreHeat": true,
"WriteBuffer": 10240,
"TryIt": 0,
"Name": ""
}
]
},
"Memory": {
"ExpireSeconds": 60
}
},
"Logging": {
"Exceptionless": {
"apiKey": "avtkum3kDogGmLjMCQim9wgC8zHDbcrzQEpDNNJ7",
"ServerUrl": ""
}
},
"Options": {
"ThreadPool_MinThreads": 100,
"DotNetty_Event_Loop_Count": 100,
"Output_DynamicProxy_SourceCode": true
}
}
}
配置 | 说明 |
---|---|
Uragano:Server:Address | 服务监听地址,可使用{LOCALIP}占位符代替使用本机局域网ip |
Uragano:Server:Port | 服务监听端口,默认端口为5730 |
Uragano:Server:Weight | 服务权重 |
Uragano:Server:CertUrl | Tls证书url,可空,如果填写了此项配置就表示要启用Tls;同一组服务(相同的服务名称)必须使用同一套证书。 |
Uragano:Service:CertPwd | Tls证书密码 |
Uragano:Client:DefaultCert | 客户端默认证书,当连接的服务器端启用了Tls,并且Uragano:Client:ServicesCert没有配置对应服务的证书时系统会使用默认证书做验证,如此设计是考虑所有服务都使用相同的证书时不需要为每个服务都配置证书。 |
Uragano:Client:ServicesCert | 客户端需要访问的服务证书,Key是对应的服务名称,上面示例里的“RPC”即为服务名称。 |
Uragano:ServiceDiscovery:Consul:Client:Address | consul agent的地址 |
Uragano:ServiceDiscovery:Consul:Client:Token | consul agent的访问Token |
Uragano:ServiceDiscovery:Consul:Client:Datacenter | consul的数据中心,默认为dc1 |
Uragano:ServiceDiscovery:Consul:Client:Timeout | consul连接超时时间(秒) |
Uragano:ServiceDiscovery:Consul:Service:Id | 向consul注册的服务id,不设置时默认以{服务地址}:{服务端口}作为id |
Uragano:ServiceDiscovery:Consul:Service:Name | 向consul注册的服务名称 |
Uragano:ServiceDiscovery:Consul:Service:Tags | 注册服务的Tags |
Uragano:ServiceDiscovery:Consul:Service:EnableTagOverride | 是否允许覆盖Tags |
Uragano:ServiceDiscovery:Consul:Service:Meta | 注册服务的Meta数据 |
Uragano:ServiceDiscovery:Consul:Service:HealthCheckInterval | 健康检查时间间隔(秒) |
Uragano:ServiceDiscovery:ZooKeeper:Client:ConnectionString | ZK地址 |
Uragano:erviceDiscovery:ZooKeeper:Client:SessionTimeout | ZK会话超时时间(毫秒) |
Uragano:ServiceDiscovery:ZooKeeper:Client:CanBeReadOnly | 是否允许创建的客户端进入只读模式 |
Uragano:ServiceDiscovery:ZooKeeper:Service:Id | 向ZK注册的服务id,不设置时默认以{服务地址}:{服务端口}作为id |
Uragano:ServiceDiscovery:ZooKeeper:Service:Name | 向ZK注册的服务名称 |
Uragano:CircuitBreaker:Polly:timeout | 熔断超时策略(毫秒),<=0时不启用 |
Uragano:CircuitBreaker:Polly:retry | 熔断重试次数,<=0时不启用 |
Uragano:CircuitBreaker:Polly:ExceptionsAllowedBeforeBreaking | 多少次异常后打开断路器,<=0时不启用 |
Uragano:CircuitBreaker:Polly:DurationOfBreak | 断路器打开后多长时间(毫秒)尝试关闭断路器 |
Uragano:CircuitBreaker:Polly:MaxParallelization | 允许的最大并发数,<=0时不控制 |
Uragano:CircuitBreaker:Polly:MaxQueuingActions | 允许最大任务排队数量 |
Uragano:Caching:Redis:KeyPrefix | 缓存Key的前缀,默认为Uragano |
Uragano:Caching:Redis:ExpireSeconds | 缓存过期时间(秒) |
Uragano:Caching:Redis:ConnectionStrings | Redis连接字符串,多个,普通模式时用第一个,分片模式根据算法分配,具体参数请参考CSRedis |
Uragano:Logging:Exceptionless:ApiKey | Exceptionless的apiKey |
Uragano:Logging:Exceptionless:ServerUrl | Exceptionless的服务地址,更多参数请参考Exceptionless |