Skip to content
Browse files

Updating readme to reflect the fresh start

  • Loading branch information...
1 parent 351d341 commit a4e7e217b210b6da158869d007c1a194c2ae2273 Zachary Parmley committed Aug 12, 2012
Showing with 26 additions and 3 deletions.
  1. +26 −3 README.md
View
29 README.md
@@ -1,8 +1,31 @@
# BillBill - An extremely simple caching proxy
## Doesn't yet work...
-Sits between the world and your website. Caches pages on the way out and serves up cached copies if available.
+BillBill should sit between the world and a website. With some basic rules it should cache pages requested and server them up all fast like untill the cache expires. A simple config should determine which domains should be proxied, cached or passed through, and TTLs.
-Uses Alfred, MapleTree, async, request
+## Raison
++ I'm learning things
++ I understand this is ridiculous, but - I am rolling out a page on a small personal project soon that invokes a rather slow 3rd party API. Instead of writing an invoking a memcached modules for the crappy CMS it's written in, I'm doing this, because I find it more interesting.
++ I want. I know solutions already exist. I don't care.
++ Hell, with time and iterations, I don't see why I can't offer something better.
-Configs are simple - configure a domain name, origin, ttl and list of 'excludes' routes which mapleTree can match.
+## Fresh slate
+Originally I was getting kind of complicated, and trying to learn a lot of new things at once. I was using alfred, and thinking of writing a model layer that alowed requests to be streamed into a particular field of an Alfred model for cache storage. It was all getting a bit overburdened and cumbersome.
+
+So, I was listening to NodeUP on a trip recently and heard about the 'filed' module (https://github.com/mikeal/filed). I decided I should use it's lovely request/response streaming capabilities to focus on getting a core project done, and enhance to something more complicated later should the need arise.
+
+## Currently
+Very simple, and not complete at all
+
+Can serve up multiple domains.
+
+Using files to house the caches
+
+Configs are simple - configure a domain name, origin, ttl and list of 'excludes' routes which mapleTree can match.
+
+I'm going to consider round one complete with in-memory indexes, meaning that if the server goes down, the caches will have to all be cleared.
+
+## Maybe baby
+I'd like to see the cache store be something distributed, maybe memcached, so that if the scale of cached pages grows rapidly, it will be pretty simple to increase storage and make it accessible to multiple BillBill servers.
+
+I'd like the indexes to persist somewhere, so that a rebooting BillBill server will not mean lost caches. This is essential if I want to be able to fire up on multiple servers.

0 comments on commit a4e7e21

Please sign in to comment.
Something went wrong with that request. Please try again.