1

我是这个领域的新手。我有 2 个 smsc 服务提供商连接。如果我发送 100 条消息,则 50 条消息应通过第一个服务提供商,其余 50 条消息应通过第二个服务提供商。这可能吗?如果有怎么办?

提前致谢

#1st service provider
group = smsc
smsc = smpp
smsc-id = A
interface-version = 34
host = xxxxx  
port = xxxx
system-id = xxxxx
smsc-password = xxxx
system-type = "default"
address-range = ""
transceiver-mode = true
source-addr-ton = 1
source-addr-npi = 1
dest-addr-ton = 1
dest-addr-npi = 1
bind-addr-ton = 1
bind-addr-npi = 1
log-level = 0
log-file = "/var/log/kannel/xxxxx.log"

#2nd service provider
group = smsc
smsc = smpp
smsc-id = B
interface-version = 34
host = xxxxx  
port = xxxx
system-id = xxxxx
smsc-password = xxxx
system-type = "default"
address-range = ""
transceiver-mode = true
source-addr-ton = 1
source-addr-npi = 1
dest-addr-ton = 1
dest-addr-npi = 1
bind-addr-ton = 1
bind-addr-npi = 1
log-level = 0
log-file = "/var/log/kannel/xxxxx.log" 
4

1 回答 1

1

如果您将 smsc-id 设置为每条路由的相同名称,Kannel 将为您进行负载平衡。如果一个 SMSC 出现故障,则所有消息都将通过另一个处于活动状态的 SMSC 发送。如果两个 SMSC 都处于活动状态,则 Kannel 将随机选择一个,因此您应该实现大约 50/50 的分布(尽管不完全是 50/50)

- 编辑 -

抱歉,我检查了一下,实际上 Kannel 将通过具有最小队列的 SMSC 发送,因此如果您的消息吞吐量较低,这将始终是第一个 SMSC,您将无法实现接近 50/50 的分布。这是在 kannel 源代码的 gw/bb_smscconn.c 中的代码 smsc2_rout() 下。

于 2012-06-08T13:10:53.287 回答