I’am searching for a http proxy cache server in go, there are many products such as squid, Apache Traffic Server(ATS), varnish etc. which are in C/C++.
Our company is a CDN provider, our product is written in C, which is more and more difficult to maintain as time goes by, because of the epoll && async I/O design module
Squid is a single process program and has a long history which is a little old for modern usage, ATS is strong but complicated for plugin development and for problem hacking, through many company use nginx proxy + ATS or nginx proxy + squid as their product architect.
Since go is simple and is a system level language, goroutine is a very impress feature for writing hight performance cache service. I believe It is easier to do cache things in go than in C.
so may question is that, does caddy can be extended to a http proxy cache server? or is there many other ways?