I love this. +1

On Wed, Oct 9, 2019 at 12:46 PM Robert Butts <[email protected]> wrote:

> Hi all! We have a proposal for a new feature for TC: Server Capabilities.
>
> Blueprint is here: https://github.com/apache/trafficcontrol/pull/3972
>
> In a nutshell, the problem we're solving is that it's impossible to only
> use certain Mids for certain Delivery Services. You can manually assign
> whatever Edges you want, but all Edge get all Mids in their parent
> Cachegroup.
>
> With "Server Capabilities," Servers will have any number of "Capabilities,"
> and Delivery Services will have "Required Capabilities," and when
> parenting, if a Mid doesn't have a Required Capability, it will not be
> inserted as a parent for that DS.
>
> Example 1: You have Mids with only Ram, and you have Delivery Services
> serving small images, and DSes serving large binaries. This feature lets
> you assign the Capability "DISK" to your other servers that have disk, and
> the Required Capability "DISK" to the large binary DSes, and then the
> Ram-only Mids won't have those DSes sent to them (which would destroy the
> cache) because they don't have the "DISK" Server Capability.
>
> Example 2: You have some ATS servers with the Lua plugin installed, and
> some without. You have some DSes that require a Lua script, which executes
> on Mids as well as Edges. You can then assign a Server Capability and DS
> Required Capability "LUA," to not route Lua DSes through servers without
> the Lua plugin.
>
> We have a very specific use case we need this for, and it fundamentally
> lets you do parentage/routing in ATC that isn't possible today. But we're
> hoping it's generic enough to solve a lot of similar problems in the
> future.
>
> Some notes:
> - The feature is 100% backwards-compatible. When you upgrade, no DSes have
> "Required Capabilities," so routing continues how it always did, until some
> Server Capabilities are created.
> - The feature is entirely optional. If you don't need Server Capabilities
> in your CDN, just don't create them, and everything works how it always
> did.
> - The feature also applies to Edge assignments, but since that's all
> manual, that's really just an extra/safety, it doesn't make any new things
> possible.
>
> Thoughts?
>

Reply via email to