Database Reference
In-Depth Information
und die
/stats
neu laden. Beachten Sie, dass
dev2@127.0.0.1
aus der
connec-
ted_nodes
-Liste verschwunden ist. Starten Sie
dev2
und er vereinigt sich
selbstständig wieder mit dem
Riak-Ring
(wir behandeln den Ring am 2. Tag).
REST und cURLs
REST steht für „REpresentational State Transfer“. Das klingt stark nach
Fachchinesisch, ist aber die
De-facto
-Architektur für Web-Anwendungen. Es
ist also durchaus sinnvoll, wenn man darüber Bescheid weiß. REST ist eine
Richtlinie zur Abbildung von Ressourcen auf URLs und zur Interaktion mit
diesen Ressourcen über CRUD-Verben:
POST
(Create, Erzeugen),
GET
(Read,
Lesen),
PUT
(Update, Aktualisieren) und
DELETE
(Löschen).
Wenn Sie es noch nicht installiert haben, besorgen Sie sich den HTTP-Client
cURL. Wir verwenden ihn als unsere REST-Schnittstelle, da man Verben (wie
GET
und
PUT
) und HTTP-Headerinformationen (wie
Content-Type
) auf einfache
Weise angeben kann. Mit dem
curl
-Befehl kommunizieren wir direkt mit dem
HTTP REST-Interface des Riak-Servers, ohne eine interaktive Console, wie
z. B. einen Ruby-Treiber, zu benötigen.
Sie können überprüfen, ob der
curl
-Befehl mit Riak funktioniert, indem Sie
einen Knoten „anpingen“.
$
curl http://localhost:8091/ping
OK
Lassen Sie uns eine fehlerhafte Query senden. Mit
-I
teilen wir cURL mit,
dass wir nur die Header-Response wollen.
$
curl -I http://localhost:8091/riak/no
_
bucket/no
_
key
HTTP/1.1 404 Object Not Found
Server: MochiWeb/1.1 WebMachine/1.7.3 (participate in the frantic)
Date: Thu, 04 Aug 2011 01:25:49 GMT
Content-Type: text/plain
Content-Length: 10
Da Riak mit HTTP-URLs und -Aktionen arbeitet, nutzt es auch HTTP-Header
und -Fehlercodes. Der Response-Code 404 bedeutet das gleiche wie bei einer
fehlenden Webseite: Hier ist nichts. Lassen Sie uns also mit
PUT
etwas in Riak
einfügen.
Der Parameter
-X PUT
teilt cURL mit, dass wir ein HTTP
PUT
ausführen wollen,
um einen expliziten Schlüssel zu speichern und abzurufen. Das Attribut
-H
verwendet den nachfolgenden Text als HTTP-Headerinformation. In diesem
Fall legen wir den MIME-Typ mit HTML fest. Alles was wir an
-d
(für Body-
Daten) übergeben, speichert Riak als neuen Wert.