I want dns server return different ip addresses based on users’ ip addresses like AWS Route 53. I don’t want to use load balancing and workers because I don’t want my traffic go through cloudflare. Is this possible?
What feature, service or problem is this related to?
Not with Cloudflare DNS. (Enterprise Foundation DNS I think may offer it, but that would be expensive).
You could have example.com proxied, then use Redirect Rules on Cloudflare to redirect geographically to eu.example.com, us.example.com, etc, and those subdomain records be “DNS only” so only the redirect is on Cloudflare, after that traffic is direct to origin.
Load balancing is how Cloudflare provides geo routing. It is available for DNS only records, though obviously features which would require a record to be proxied would not apply.