You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Leif Hedstrom (JIRA)" <ji...@apache.org> on 2015/11/09 22:56:11 UTC

[jira] [Commented] (TS-3999) Add option to go direct for specific parent entry

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

Leif Hedstrom commented on TS-3999:
-----------------------------------

I'm not particularly fond of this solution. The fact that you have to maintain one (unique) configuration file now for each server is incredibly unfortunate. I understand that you can (should) automate this. But at best, this will work most of the time. Worst case, it'll break in unforgiving and hard to debug ways.

My preference would be a system where ATS knows what "self" is (e.g. based on "hostname"), and your config is the same on all boxes. Something in the line of

{code}
parent="tides:8080, yuna:8080, rikku:8080" go_direct=if-self
{code}

alternatively, we'd add a new flag for the "directness" of this. But the idea / point would be that parent.config for this entry is the same on all boxes, and ATS under the hood calculates the @direct behavior based on hostname on the running host. Other than that, it'd be identical to the behavior above. In fact, it could probably be almost identical, other than config parsing where it has to decide which host is @direct by inference.


> Add option to go direct for specific parent entry
> -------------------------------------------------
>
>                 Key: TS-3999
>                 URL: https://issues.apache.org/jira/browse/TS-3999
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Parent Proxy
>            Reporter: Alan M. Carroll
>
> We want to use parenty proxying in a peer relationship so that a host can be both a parent and child in general but only for a specific URL. Currently this can be done using the CARP plugin but that can create some difficulties. Being able to specify that one parent in the list is actually direct to origin would make that much easier.
> The current suggestion is to overload the port specifier as a indicator of direct. For example, if you had three hosts in a pod, {{rikku}}, {{tidus}}, and {{yuna}}, then you would configure the parent proxying on {{tidus}} as
> {code}
> "tidus:@direct, yuna:8080, rikku:8080"
> {code}
> while the configuration on {{yuna}} would be
> {code}
> "tidus:8080, yuna:@direct, rikku:8080"
> {code}.
> Similarly for {{rikku}} the port would be changed to "@direct" just for the "rikku" parent. I discussed several configuration options for this with [~dcarlin] and putting the override directly in the parent list was his preferred mechanism. Note that in order to have consistency between hosts in a pod, the list of names *must* be exactly the same across all the peers. In this case, it must be "tidus, yuna, rikku" for all three or loops will occur because of different hash seeds.



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