Considering setting mirror or CDN in China


(Bo Zhang) #1

There are the largest amount of Chinese developers in the world but downloading Gradle distributions is extremely slow (<100K/s, sometimes 10K/s) in China due to Chinese government’s network blocking. However, there’re many Chinese companies providing cloud and CDN service, is there any possibility of setting a mirror in China? This can benefit millions of Chinese developer.

For example, when a request with Chinese IP detected, the server can give a 302 response and make the client redirect to distribution source in China. If possible, I can help to contact the cloud service providers in China.


(Bo Zhang) #2

The following cost can be a reference.

Assume that there are 1 million downloads of gradle distribution monthly, according to typical price of CDN service, the monthly cost is:

1000,0000.06 GB0.0414 US$/GB=2484 US$

HTTP download price

  • 0 GB to 10 GB Free
  • 10 GB to 100 TB 0.0414 US$/GB
  • more than 100 TB 0.0371 US$/GB

(Eric Wendelin) #3

Thank you for raising this, Bo.

We use Cloudflare to host Gradle downloads. It looks like they may have a CDN edge in China, so I’ll bring this up with our Cloud Services team.

Cheers,
Eric


(Feng Yu) #4

Hi @eriwen.
According to cloudflare doc: https://support.cloudflare.com/hc/en-us/articles/209156358-If-I-would-like-to-improve-performance-in-China-which-service-should-I-choose-Cloudflare-or-Yunjiasu- , improve performance in China, we must have a ICP license.

And this link shows how to make ICP license in cloudflare: https://www.cloudflare.com/network/china/

Thanks.


(Bo Zhang) #5

So you mean the CDN and performance improvement is NOT available in China before we can provide an ICP license, right?


(Feng Yu) #6

Yes. According to Chinese law, every website services for China have to make a ICP license. And cloudflare will use Chinese mirrors(provided by Baidu Jiasule) if you have a Chinese ICP license, otherwise will use American mirrors. So this would cause downloads.gradle.org very slow in China.


(Eric Wendelin) #7

That’s very helpful information, Feng!

I will investigate getting an ICP license so Chinese users can enjoy a much faster Gradle.


(Feng Yu) #8

Or maybe we can consider publish -bin.zip and -all zip to maven central, just like Jetty or Gatling?

That is to say we can use maven mirrors.


(Bo Zhang) #9

Thanks for your suggestion, we sure can, but I personally like the same domain name. BTW, is it possible to set some “redirect rule”, which can redirect all traffic from China IP to another domain with 301/302? If so, we could use some object storage service inside China and redirect China access to these domain.


(Feng Yu) #10

Maybe 302 is better. And if using maven mirrors, can redirect to aliyun in China: http://maven.aliyun.com/nexus/content/groups/public/