The primary caching proxy supported by Apache Traffic Control (ATC) is
Apache Traffic Server (ATS).

Config generation for ATS caches is done by a tool called ORT:
https://github.com/apache/trafficcontrol/tree/master/traffic_ops_ort
https://github.com/apache/trafficcontrol/tree/master/traffic_ops_ort/atstccfg

Typically, a Traffic Control CDN will run this on caches via a CRON job
every few minutes.

You could create a config generator for Varnish which does the same thing:
request the Traffic Ops API, and use the data (Delivery Services, Servers,
Parameters, etc) to generate the necessary config for Varnish, and then
un-set the "update pending" flag via the Traffic Ops API.

We do have another caching proxy in Traffic Control, Grove. Though I don't
think anyone is running it in production at the moment:
https://github.com/apache/trafficcontrol/tree/master/grove

Grove has its own config generator similar to ORT:
https://github.com/apache/trafficcontrol/tree/master/grove/grovetccfg

If you're new to ATC, I'd encourage you to set up a CDN-in-a-Box (CiaB),
just to get an idea of the different CDN components and how they work
together:
https://traffic-control-cdn.readthedocs.io/en/latest/admin/quick_howto/ciab.html#getting-started
https://github.com/apache/trafficcontrol/tree/master/infrastructure/cdn-in-a-box

In addition to getting it running, I'd also encourage you to look over the
Dockerfiles and run-scripts in the CiaB, to get an understanding of each
CDN component. You can also look at the independent Dockerfiles for each
component, if that helps:
https://github.com/apache/trafficcontrol/tree/master/infrastructure/docker

And of course, the overall ATC docs:
https://traffic-control-cdn.readthedocs.io/en/latest/overview/introduction.html

I hope that helps! Don't hesitate to ask if you have more questions. I'd
encourage you to join our Slack as well. Slack is usually the fastest way
to get answers:
https://s.apache.org/atc-slack


On Thu, Feb 25, 2021 at 3:37 PM Chandan prakash <[email protected]>
wrote:

> Hi all,
> I am Chandan Prakash, pre final year computer science student at IIT Mandi,
> India. I am proficient in languages C, C++, python, javascript, Go, Rest
> APIs, Graphql.
> I want to know more about this project.
>
> (1).So, where should I start?
>
> (2). Is there any code base which I need to get a more understanding of
> this project?
>
> I am new to this community but I have contributed to this other open source
> projects earlier.
> Thank you,
> Chandan Prakash,
> B-Tech 3rd year
> IIT Mandi
>

Reply via email to