Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Feature-based dependencies / flags (lack of a better word)
    • re-uses / leverages RESTful HTTP approach (favored API re-use)
    • we want to give the implementer and service developer the ability to turn features turn on / off, and we do that by knowing the deployments intent - a Service is available if it was in the deployment descriptor (docker-compose)
    • we need to spike on how to:
      • read/write solution (current preferred approach due to race condition using service registration)
        • read the docker-compose (docker-compose config --services) and create a feature flag based off services deployed
        • we need to publish (consul KV) those flag statuses and consume those in our services (constantly checking? No, config doesn't change.  We want on startup - onetime)
        • Above reading/writing of these flags to be used in feature-based dependencies is covered in
          Jira Legacy
          serverSystem JIRA
          columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
          serverId448ba138-230b-3f91-a83e-16e7db1deed1
          keyOLMIS-3906
        • the above avoids the race condition inherent in using the knowledge in Consul available through service registration, however we don't we don't have a solution to the race condition (OLMIS-3906
      • using service registration in Consul (would be tricky):
        • could use a timeout solution - we don't have a way in spring boot to actually stop serving requests.
        • registration could be done very quickly - and so most likely before detection is done, everything is registered.
        • auth is constantly re-checking consul for services deployed (however how would we solve for the reference UI / keep a consistent user experience across services detecting what is available)
        • however we don't we don't have a solution to the race condition:
      • Requisition to Stock Mgmt is a good first step to implement (would spur the discussion about which "features" turn off)
        • all stock mgmt fields including reasons for losses and adjustments

...