RabbitOptions.cs
1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using System.Collections.Generic;
using RabbitMQ.Client;
namespace Pole.EventBus.RabbitMQ
{
public class RabbitOptions
{
public string UserName { get; set; }
public string Password { get; set; }
public string VirtualHost { get; set; } = "/";
public int Port { get; set; } = 5672;
public int MasChannelsPerConnection { get; set; } = 512;
/// <summary>
/// 目前为一个连接 当消息数量非常大时,单个TCP连接的运输能力有限,可以修改这个最大连接数提高运输能力
/// </summary>
public int MaxConnection { get; set; } = 10;
/// <summary>
/// 消费者批量处理每次处理的最大消息量
/// </summary>
public ushort CunsumerMaxBatchSize { get; set; } = 300;
/// <summary>
/// 消费者批量处理每次处理的最大延时
/// </summary>
public int CunsumerMaxMillisecondsInterval { get; set; } = 1000;
/// <summary>
/// 消费者批量处理每次处理的最大延时
/// </summary>
public int ProducerConfirmWaitTimeoutSeconds { get; set; } = 5;
/// <summary>
/// exchange 和 queue 名称的前缀
/// </summary>
public string Prefix = "Pole_";
public string[] Hosts
{
get; set;
}
public List<AmqpTcpEndpoint> EndPoints
{
get
{
var list = new List<AmqpTcpEndpoint>();
foreach (var host in Hosts)
{
list.Add(AmqpTcpEndpoint.Parse(host));
}
return list;
}
}
}
}