Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using Google AppEngine as a "cache" for personal websites (wordpress blogs, wikis)

I read an article of an indie game developer who is using Google AppEngine to cache his main site and blog, to protect provide high-availability during traffic spikes (Digg, Slashdot effect).

Wolfire Blog - Google App Engine for Indie Developers

There's not a lot of detail on the exactly what they developed in Python on Google AppEngine that they used to cache the site. The only details I could find were about the AppEngine python app reading the backend wordpress articles through an RSS feed:

Wordpress runs on a dedicated server, and we import it into www.wolfire.com via RSS, which is the App Engine part. Dumping Wordpress entirely is on my list though of things to do someday. ;)

Does anyone know of any open source Python or Java web frameworks that you can use to customize caching a site that you could build and deploy on Google AppEngine to act as a "scalable" provider for your web content?

I'm using an "Ok" shared hosting service called bluehost to host my wordpress blog, I'd like to be able to instead put my blog on a separate domain (blog.ddaniels.net) and host google app-engine on www.ddaniels.net that would point to blog.ddaniels.net.

This could be extended for almost any type of website, you would still need links to dynamic content to point to the original host (for things like comments and editing wiki pages etc, basically any HTTP PUT type operations).

I'd assume you'd basically need a Java or Python framework that you could:

  1. Configure your back end host e.g. blog.yourname.com

  2. Configure Google App Engine framework as www.yourname.com (details for Google App Engine mapping to your domain, the key is you have to use subdomains and "www" is a subdomain)

  3. On first access of page (or after expiration time) HTTP GET the page from backing host and cache it on Google AppEngine

like image 339
Dougnukem Avatar asked Nov 04 '09 18:11

Dougnukem


1 Answers

You could start by taking the code for DryDrop, which mirrors static pages from a repository hosted on GitHub, and making it a more general reverse proxy. For example, you'd need to ensure that POST requests or logged-in users get passed through directly to the proxy.

like image 109
Emil Sit Avatar answered Oct 09 '22 11:10

Emil Sit