Hacker News new | past | comments | ask | show | jobs | submit login
Try RethinkDB in the cloud – powered by Docker (tryrethink.info)
66 points by coffeemug on July 22, 2013 | hide | past | favorite | 21 comments



For those of you wondering what RethinkDB and Docker are:

RethinkDB (http://rethinkdb.com) is "an open-source distributed database built with love. It lets you enjoy an intuitive query language, automatically parallelized queries, and simple administration. Table joins and batteries included. RethinkDB is built to store JSON documents, and scale to multiple machines with very little effort. It has a pleasant query language that supports really useful queries like table joins and group by, and is easy to setup and learn."

Docker (http://docker.io) is "an open-source application container engine. It gives developers a way to package their app and all its dependencies into a portable container which can be deployed on any modern Linux machine, virtualized or not. Containers are completely sandboxed and do not interfere with each other (think “iPhone apps for the server”), have virtually no performance overhead, and can easily be moved across machines and datacenters. Best of all, they don’t depend on any language, framework or packaging system."


Hey guys, thanks for your patience. I'm sorry the ride hasn't been as smooth as I'd hoped for so far.

Over 600 of you have created and successfully used Rethink so far. With only a ~7GB RAM overhead (and barely any CPU usage.) That's really awesome.


I talked to Nick and we looked at what was causing the problems on his server. A few details on the investigation so far.

1. It's not caused by RethinkDB :)

2. It's not caused by cpu, ram or io load. The server is definitely taking a hit, but it still has spare capacity.

3. No apparent issue on the machine itself (a Linode box)

4. It's not a docker stability issue either. The docker daemon is happy as a clam, and the containers that do get deployed also run perfectly smoothly.

5. We suspected that maybe Hipache failed to update its routing configuration fast enough. But that turned out to be a red herring too (unsurprising since Hipache handles vastly larger load at dotcloud).

Our best explanation so far: Docker's default configuration is to assign to itself a /24 ip range. This only allows for 254 distinct addresses, and thus 254 containers (note: the reasoning behind this default was to minimize the footprint on the host system. In retrospect it seems like a silly decision, we'll change it to something larger). Nick then reconfigured docker's interface to a /16, allowing for more containers to be created, and restarted the docker daemon. This causes docker to allocate IPs to new containers from the new, expanded range, while avoiding possible conflicts with the IPs of pre-existing containers. That's where the problem occurs: Docker is doing this correctly, but very slowly, creating a 30 second delay between container creation and successful IP allocation. We're investigating why exactly.



Hi - I'm the author of this site. I'm happy to answer any questions about the technology or implementation!

One of the often asked questions is how to get containers to talk to one another using docker and how to add "runtime configuration." I explore both of these topics and more in the technology piece available at http://nick.stinemat.es#rethink-docker-technology

Thanks for taking a look! Nick


This is a pretty good guide for going "all the way" to production with Docker. I've saved it for later use, thanks a ton!


FWIW we keep track of community-contributed guides on this wiki page: https://github.com/dotcloud/docker/wiki/Docker-external-reso...

(Or we try to, anyway - it's getting a little hard to keep up :)


Because the system is overloaded, I am limiting creation quite heavily. Please be patient, it'll get fixed very quickly.


Why is "Try RethinkDB now" button NOT working?


It worked for me 5 minutes ago.. But now doesn't work for me either. I think the demo server might be overloaded :)


It works again for me.


Firebug console shows a 500 response to their ajax call.


It's working now!


For those testing Rethink via this service: once you get an instance, click the data explorer link on top, type "r.expr(1).add(1)" (without the quotes) and hit run. Voila - a simple calculator!

If you'd like to do something more interesting, follow the RethinkDB quickstart -- http://rethinkdb.com/docs/guides/quickstart/.


I get a 500 error on the /new POST that occurs when I click the "Try RethinkDB Now" button. Might wanna look into that.

UPDATE: it's working. Load issue of some sort?


It's working again. Sorry about that.


The whole site seems to be down again. Looks like HN load isn't so easy to handle after all :)

EDIT: looks like it's back up again.


Bringing the site down for 5 minutes, brb.


It's back up!


Is not fast. Is hammered. Cannot test.


It's back up. Sorry about that. Such a massive demand (a good thing!)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: