Go言語:Riakに書き込む


この記事の目的

  • Go言語でRiakに書き込むプログラムを作成する

Riakとは?

  • 分散型キーバリューデータベース
  • RESTFul APIを通して読み書きする
  • 単一障害点がなく耐障害性がある
  • スケールが容易

Riakのクライアントライブラリを入手する

go get github.com/tpjg/goriakpbc

実装する

main.go
package main

import (
    "github.com/tpjg/goriakpbc"
    "log"
)

func main() {
    err := riak.ConnectClient("127.0.0.1:8087")

    if err != nil {
        log.Fatal(err)
    }

    bucket, err := riak.NewBucket("hoge")

    if err != nil {
        log.Fatal(err)
    }

    obj := bucket.NewObject("fuga")
    obj.ContentType = "application/json"
    obj.Data = []byte(`{"foo":"bar"}`)
    err = obj.Store()

    if err != nil {
        log.Fatal(err)
    }

    riak.Close()
}

実行する

go run main.go

書き込めた!

ちなみにこの画面はRiakのGUI管理ツールRekon。Riakの開発元が作っている。