You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by jrushf1239k <gi...@git.apache.org> on 2015/08/27 21:28:24 UTC

[GitHub] trafficserver pull request: Multi site origin feature

GitHub user jrushf1239k opened a pull request:

    https://github.com/apache/trafficserver/pull/283

    Multi site origin feature

    
    We have a use case where our linear video and video on demand origin servers are deployed to geographically dispersed data centers and we would like to use these origins for redundancy and load balancing.  I have added a feature to Apache traffic server that lets us use these redundant origins servers using the existing parent selection code.  I've added a new configuration parameter to Parent Selection, parent_is_proxy, which defaults to true.  When left at true, parent selection operates as it always has with parent proxies.  When set to false, this indicates that the parent is an origin server by setting the ParentResult type to a new enum value, PARENT_ORIGIN.  All the existing round_robin and consistent hashing algorithms function with this new feature and when a request is made to the origin, the HTTP Request is modified to remove the fully qualified hostname from the request if present and to send only the path in the request.  We now have these features in production in o
 ur CDN and are beginning to use the parent selection of origin servers for linear video delivery.
    
    Two additional features have been added that examine the Response from the origin.  These two features come with new configuration parameters in records.config that let you enable and configure them.  The features are called simple retry and dead server retry.  I've updated the documentation for records.config that describes these features.  They are for the case when an origin endpoint may not yet have the linear video fragment available yet when another origin may already have it.  Or for in the case when an origin endpoint may not be available due to maintenance.  Connection failures or timeouts work as they did previously.
    
    simple retry is enabled with this parameter:
    CONFIG proxy.config.http.parent_origin.simple_retry_enabled INT 1
    
    A comma separated list of response codes may be configured with this parameter, the default is 404:
    CONFIG proxy.config.http.parent_origin.simple_retry_response_codes STRING 404
    
    When a response is received from the parent origin that matches an entry in the response codes list,
    the next parent is selected and the request is retried.  If all parents are tried without success, the final error response is sent to the client.
    
    The dead server retry is similar but marks failed parents as down.  The configuration parameters for this feature are here:
    
    CONFIG proxy.config.http.parent_origin.dead_server_retry_enabled INT 1
    CONFIG proxy.config.http.parent_origin.dead_server_retry_response_codes STRING 503,505
    
    The above is just an example, dead_server_retry_response_codes defaults to 503.


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

    $ git pull https://github.com/jrushf1239k/trafficserver multi-site-origin

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

    https://github.com/apache/trafficserver/pull/283.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 #283
    
----
commit ee589430e6c6eda02b44dffe4fa15ebe4d8e1aab
Author: John J. Rushford <jo...@cable.comcast.com>
Date:   2015-08-25T17:02:08Z

    Modified RecordsConfig.cc and added simple and dead_server retry configuration parameters.

commit 1ac67edeb674c219e3be15bd68ada069d1c418b2
Author: John J. Rushford <jo...@cable.comcast.com>
Date:   2015-08-25T21:39:56Z

    Updated ConsistentHash and ParentSelection for multi-site-origin.

commit 2e7b140e0177d071b744bf3529bf4b2bbf8e160a
Author: John J. Rushford <jo...@cable.comcast.com>
Date:   2015-08-26T17:05:48Z

    Modified HttpTransact and HttpConfig for multi-site-origin.

commit e774e9ccb7e7839ed4d42ffc5bff066a6048ceb3
Author: John J. Rushford <jo...@cable.comcast.com>
Date:   2015-08-27T14:24:23Z

    Added debug messages.

commit 6c2e194f5cff723b9513637b020959ef4bd18879
Author: John J. Rushford <jo...@cable.comcast.com>
Date:   2015-08-27T14:26:44Z

    Merge branch 'master' into multi-site-origin

commit bd84a06b0beff5d007556197bdf07f985606d8a8
Author: John J. Rushford <jo...@cable.comcast.com>
Date:   2015-08-27T15:19:54Z

    Updated the parent.config documentation.

commit 7c4876b0a8fb6b05f32629ddf6bb1d72b23333aa
Author: John J. Rushford <jo...@cable.comcast.com>
Date:   2015-08-27T15:43:51Z

    update records.config documentation for dead_server and simple retry.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver pull request: Multi site origin feature

Posted by jrushf1239k <gi...@git.apache.org>.
Github user jrushf1239k closed the pull request at:

    https://github.com/apache/trafficserver/pull/283


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver pull request: Multi site origin feature

Posted by jrushf1239k <gi...@git.apache.org>.
Github user jrushf1239k commented on the pull request:

    https://github.com/apache/trafficserver/pull/283#issuecomment-152298104
  
    I want to close this pull request for now.  


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver pull request: Multi site origin feature

Posted by jpeach <gi...@git.apache.org>.
Github user jpeach commented on the pull request:

    https://github.com/apache/trafficserver/pull/283#issuecomment-141525480
  
    @PSUdaemon, @bgaff, @SolidWallOfCode: can you look at this one?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---