[ 
https://issues.apache.org/jira/browse/TC-32?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15830239#comment-15830239
 ] 

ASF GitHub Bot commented on TC-32:
----------------------------------

GitHub user dg4prez opened a pull request:

    https://github.com/apache/incubator-trafficcontrol/pull/199

    [TC-32] Addition of ATS Config API - Do not merge

    Working API for ATS config file generation, divided by three "scopes" - 
CDN, profile, and server.
    
    This is intended to be used for a redesign of the ATS config process. No 
test files have been generated yet - this PR is intended for review only, and 
is linked to https://issues.apache.org/jira/browse/TC-32
    
    Currently working on test files and minor fixes.  Do not merge just yet.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/dg4prez/incubator-trafficcontrol 
ats_api_config

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-trafficcontrol/pull/199.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #199
    
----
commit c849bb93a7b4a7159894ae89fd283caf95769d5a
Author: Derek Gelinas <[email protected]>
Date:   2017-01-18T19:35:01Z

    Create ATS Config API for master branch

commit 058da0e4d5030f5c598df819ed8ce26a0407a9ad
Author: Derek Gelinas <[email protected]>
Date:   2017-01-18T20:20:00Z

    psql fixes and remove any_map bug

commit 0362bfbe5c1afe0a2386337a0d3225442257eaeb
Author: Derek Gelinas <[email protected]>
Date:   2017-01-18T20:20:21Z

    psql fixes and remove any_map bug

commit 28c40d030c49a43ce8141dc589738706a969a9cb
Author: Derek Gelinas <[email protected]>
Date:   2017-01-19T16:54:20Z

    remove scope parameter and change ort naming

----


> Improve efficiency of ATS config generation
> -------------------------------------------
>
>                 Key: TC-32
>                 URL: https://issues.apache.org/jira/browse/TC-32
>             Project: Traffic Control
>          Issue Type: Improvement
>          Components: Traffic Ops API
>            Reporter: Derek Gelinas
>            Assignee: Derek Gelinas
>             Fix For: 1.9.0
>
>
> Currently when generating ATS configuration files, each server calls for its 
> individual files from traffic ops.  This is a very database-intensive process 
> that is not scalable enough.  I propose the following changes:
> 1) Generate the configuration files only as many times as needed - many files 
> are the same (or can be) for the entire CDN or server profile.
> 2) Once generated, the files can be cached locally.  Requests for the files 
> by ORT will result in pulling down these cached files rather than many 
> hundreds of DB queries each time.
> 3) Migrate the routes for these files to the API.  Each call will have 
> multiple options - a request made with no options would return the cached 
> file, another option would return the current DB data, and a third option 
> would update the cached file with the current information in the DB.
> 4) When an update is queued, generate and cache the configuration files, then 
> activate the update flag for the relevant servers once the cached file 
> generation is completed.
> In this way, triggering updates for the caches will result in an initial 
> increase in activity as traffic ops generates the files needed, followed by 
> the much lower impact of the files themselves being requested by the caches.
> I believe we can cut down the number of server-specific configuration files 
> to only 5 intially, and potentially fewer by having ORT fill in certain 
> fields on files like records.config with local data during processing.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to