Uploaded image for project: 'Identity Gateway'
  1. Identity Gateway
  2. OPENIG-4256

Create dedicated Verticle for IG standalone

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: Not Applicable
    • Fix Version/s: 7.0.0-micsvc-1.0.3
    • Component/s: Standalone
    • Labels:
      None
    • Sprint:
      2020.04 - IG / Microservices, 2020.05 - IG / Microservices, 2020.06 - IG / Microservices
    • Story Points:
      8

      Description

      Currently we instantiate the HTTP server for a Main class, and we don't use at all the concept of Verticle of Vert.x .
      That was ok to start with, but this does not allow to scale, as there is only one event-loop, with one thread; in short: we are mono-threaded, and for some IG Handler, like the ResourceHandler that really scales down the performance. We are reading the files to serve in a synchronous way, through a good old InputStream, which is blocking. So we have only 1 thread that blocks to read a file: we can't imagine better scenarii to decrease the performances. Moving to an asynchronous read of the file require a lot of change, firstly in CHF.

      In the meantime, if we use a Verticle we could tell Vert.x to instantiate few instances. Thanks to its port unifications, all the Verticle instances would listen on the same ports, but we would have multiple event-loops, and thus limit the loss of performance.

      Acceptance Criteria

      • Number of verticles configurable in admin.json
      • Appropriate number of verticles are created
      • The HttpApplication instance is shared amongst all verticles

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                nils.renaud Nils Renaud
                Reporter:
                laurent.vaills Laurent Vaills
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: