Replication lag across CF nodes causing multiple calls?

Hi communtiy,

I have a close-to realtime application for which I am doing markup caching on Ajax refresh calls. Expiration times of these markup snippets is 12 seconds. I use a 302 redirect page rule on AJAX calls given they have a timestamp appended to avoid caching.

When I check my logs (below) I do see that CF is going to the origin in closer intervals than the set expiration time (12s). These request usually come from different origins (see logs below).

Is it fair to say that this is due to replication time among CF nodes? However these duplicate calls happen with a timer discrepancy of up to 7 seconds while I read in another post CF node replication should be done within 5 seconds.

172.68.214.201 - - [15/Jun/2020:07:47:33 +0000] “GET /heute/partial HTTP/1.1” 200 42846 “deleted/heute” “Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36”
172.68.50.83 - - [15/Jun/2020:07:47:43 +0000] “GET /heute/partial HTTP/1.1” 200 42846 “deleted/heute” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Safari/605.1.15”
172.68.50.83 - - [15/Jun/2020:07:47:56 +0000] “GET /heute/partial HTTP/1.1” 200 42872 “deleted/heute” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0”
172.68.214.201 - - [15/Jun/2020:07:48:03 +0000] “GET /heute/partial HTTP/1.1” 200 42872 “deleted/heute” “Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36”
172.68.50.83 - - [15/Jun/2020:07:48:13 +0000] “GET /heute/partial HTTP/1.1” 200 42872 “deleted/heute” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Safari/605.1.15”
172.68.50.83 - - [15/Jun/2020:07:48:26 +0000] “GET /heute/partial HTTP/1.1” 200 42835 “deleted/heute” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0”
188.114.102.57 - - [15/Jun/2020:07:48:39 +0000] “GET /heute/partial HTTP/1.1” 200 42835 “deleted/heute” “Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0”

Thank you for any insight! Also if there is a configuration / added product solution to this (ensure my origin only gets a call every 12 seconds) I would love to hear about it.

Further confirmed that the delay between the calls between the same node seems to be aligned with the cache TTTL which points to the cause of the issue being the replication delay. I didn’t see these issues when fronting the application with CloudFront in the past. Is there something architecturally different in the way I need to think about CF and replication across thee CDN?

What replication are you referring to?

Unless you are using Argo with Tiered Caching, each Cloudflare POP talks directly back to your origin.

Thank you @michael - that is surprising to me. If that is the case a few questions:

  • In this post @stephane talks about a replication time of up to 5 seconds; is that replication time for configuration changes then if there is no across CF node replication in the free tier?
  • Is there a published list of the nodes I should expect being chatty with my server by region? E.g. for Germany, should I expect there to be 40 CF nodes keeping their own interactions with my origin or is it 1 CF node?

Thanks much

Network map is here.

.

Thank you @michael! Is there a way to map these geo nodes to IPs?

I would expect it’s not possible to do this by IP address as that would provide an attack vector to a particular POP.

You can log the CF-RAY on your servers. The last three characters identify the Cloudflare data Center.

This topic was automatically closed after 30 days. New replies are no longer allowed.