1

アプリケーションで txloadbalancer ツイスト API を使用していますが、うまく機能します。実行中のインスタンスにホストを追加する方法がわかりません。

私は今のところこの機能を使用しています:

#pm is a ProxyManager
def addServiceToPM(pm, service):
    if isinstance(service, model.HostMapper):
        [service] = model.convertMapperToModel([service])
    for groupName, group in pm.getGroups(service.name):
        proxiedHost = service.getGroup(groupName).getHosts()[0][1]
        pm.getGroup(service.name, groupName).addHost(proxiedHost)
        tracker = HostTracking(group)
        scheduler = schedulers.schedulerFactory(group.lbType, tracker)
        pm.addTracker(service.name, groupName, tracker)

新しいホストで実行します

addServiceToPM(pm, HostMapper(proxy='127.0.0.1:8080', lbType=roundr,
               host='host2', address='127.0.0.1:10002'))

これにより、ホストがトラッカーに正しく追加されますが、プロキシ サービスには追加されないため、負荷分散には使用されません。これを行う方法について手がかりを持っている人はいますか?

4

1 に答える 1

0

というわけで、答えが出るまでソースコードをじっと見つめてしまいました。

私の場合のように、使用する既存のプロキシとグループに新しいホストを追加したい場合

def addHostToLB(pm, proxy, group, newHost, newHostName):
    tracker = pm.getTracker(proxy, group)
    tracker.newHost(newHost, newHostName)
于 2013-11-05T21:35:02.520 に答える