Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-1864

Rest protocol which does not use persistent connections

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Abandoned
    • 5.1.0
    • NEEDS_REVIEW
    • Transport
    • None
    • All currently supported platforms

    Description

      It would be desirable for scalability to offer a REST protocol (or a set of configurations to the existing rest protocol) which does not use persistent connections. In the scenario where there are a large number of clients (on the order of thousands) which send messages infrequently (on the order of 25-100 per day) to a queue, it is very taxing on network hardware at the server to maintain a large number of open connections. In the existing REST protocol, it appears as though each client uses 2 connections (one for send, one for receive) placing a hard limit of about 32000 clients (in the real world this limit is much much lower on low-end networking hardware, perhaps a few hundred).

      Ideally, connections would only be established when a message send is taking place, and perhaps the connections would be left open for a configurable amount of time (to reduce overhead in bursty environments). In order to provide 2 way communication without persistent connections, it may be that message between a server queue back to a client queue are held and piggybacked on the response to a message post, but this is normal in reporting evironments where the communication is primarily one way (guaranteed message delivery to server should be timely, server to client communication can be delayed).

      Any thoughts, or is this currently supported?

      Attachments

        Activity

          People

            Unassigned Unassigned
            jsilva John Silva
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: