

Try RethinkDB in the cloud – powered by Docker - coffeemug
http://tryrethink.info

======
shykes
For those of you wondering what RethinkDB and Docker are:

RethinkDB ([http://rethinkdb.com](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](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."

------
nickstinemates
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.

~~~
shykes
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.

~~~
shykes
I just pushed a fix:
[https://github.com/dotcloud/docker/pull/1265](https://github.com/dotcloud/docker/pull/1265)

------
nickstinemates
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](http://nick.stinemat.es#rethink-docker-technology)

Thanks for taking a look! Nick

~~~
rdudekul
Why is "Try RethinkDB now" button NOT working?

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

~~~
shykes
It works again for me.

------
coffeemug
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/](http://rethinkdb.com/docs/guides/quickstart/).

------
bjhoops1
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?

~~~
nickstinemates
It's working again. Sorry about that.

------
coffeemug
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.

------
nickstinemates
Bringing the site down for 5 minutes, brb.

~~~
nickstinemates
It's back up!

------
zobzu
Is not fast. Is hammered. Cannot test.

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

