Knotx / knotx

Knot.x is a highly-efficient and scalable integration framework designed to build backend APIs
https://knotx.io
Apache License 2.0
126 stars 26 forks source link

Redesign of Repository verticle - Multiple specialized repository verticles #61

Closed marcinczeczko closed 7 years ago

marcinczeczko commented 8 years ago

1. Server Verticle configuration

"server" : {
  "config": {
    ...,
    "repositories": [
        {
            "path" : "/content/local/.*",
            "address" : "knotx.filesystem-repository"
        },  
        {
            "path" : "/content/.*",
            "address" : "knotx.http-repository"
        }
    ],
    "engine" : {
        "address": "knotx.template-engine"
    }
  }
}

Instead of Repository verticle create two:

Each verticle should have it's own configuration with same syntax as others

  1. Http Repo
"httpRepository" : {
  "config": {
    "address": "knotx.http-repository",
    "config": {
      {
        "domain": "localhost",
        "port": 3001
      }
    }
  }
}
  1. Local Repo
"localRepository" : {
  "config": {
    "address": "knotx.filesystem-repository",
    "config": {
      {
        "catalogue": ""
      }
    }
  }
}

3. Processing, request/response handling

The request/response handling should remain the same for specialized verticles. The most important informmation is that, the message payload that is used to communicate with them, should have unified structure.

configurations in core, example how to create your own repository verticle

marcinczeczko commented 7 years ago

Lower priority for now in my opinion - services communication & post processing is our main focus now.