Uploaded image for project: 'Qpid Dispatch'
  1. Qpid Dispatch
  2. DISPATCH-57

Balance deliveries adaptively across all competing consumers in the network

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.6.0
    • Router Node
    • None

    Description

      When there are multiple competing consumers on an address across a network, the network should balance deliveries to those consumers adaptively. This will cause more messages to be delivered to faster consumers and fewer messages to slower consumers.

      The basic idea is that each router tracks the deliveries and can know how many outstanding (unacked) deliveries have been sent via each outbound link. It can then choose a link based on the smallest number of outstanding deliveries. Faster links will tend to have fewer deliveries and will get preference in the balancing.

      This feature makes use of the route-cost to remove router nodes. The cost-to-remote-consumer is used as a threshold for forwarding deliveries to that node. For example, if the cost to a remote consumer is 100, then the local router that takes in deliveries to the address will only start forwarding messages to the remote node once local consumers have a backlog of at least 100 outstanding (unsettled) deliveries.

      Attachments

        Activity

          People

            tross Ted Ross
            tross Ted Ross
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: