タグ

ブックマーク / matope.hatenablog.com (2)

  • GoとgRPCでKVS的なものを作ってみた - 小野マトペの納豆ペペロンチーノ日記

    正月で時間があったので、以前から触ってみたかったgRPCGo言語から使い、キー・バリュー・ストアのようなものを作ってみた。 KVSといっても、GomapへのGet/Put/Delete/ScanをgRPC経由で叩けるようにしただけのもの。それだけだとあまり面白く無いので、gRPCらしく、Watch機能をつけてmapへの更新を監視できるようにした。 github.com 個人的には、HTTP/1.1 + JSON APIと比べた時のgRPC(HTTP/2 + ProtoBuf)のメリットや違いが気になっていたので、そのあたりを気をつけながら書いた。 開発の手順 サービス定義 まずはProtocol Buffers 3でKVSのサービスを定義する。サンプルを見ながら適当に書いた。 grpc-kvs/grpc-kvs.proto at master · matope/grpc-kvs · G

    GoとgRPCでKVS的なものを作ってみた - 小野マトペの納豆ペペロンチーノ日記
  • Dynamoの論文を訳した - 小野マトペの納豆ペペロンチーノ日記

    Dynamo: Amazonの高可用性Key-value Store[和訳] — Gist DynamoDBとかも出てきた事だし、MySQL以外のデータベースに興味が出て来たのでNoSQL的な流れの源流っぽいDynamoの論文を読んでみることにしました。十日くらい掛けて一通り読んだものの、時間がかかりすぎて何が書いてあったのか全く覚えていなかったので、論文の抄訳的なものをサラリと書き出して理解に努めようと思ったのだけど、残念ながらサラリとエッセンスを抽出出来るほど頭がよくなかったので、しょうがないのでカッとなって全訳しました。 Dynamoは、「顧客は例えディスクが壊れていようが、ネットワーク経路が断線しようが、データセンターが竜巻で破壊されようが、彼らのショッピングカートを閲覧したり、アイテムを追加したりできるべきです」とか、その可用性のためにバージョン衝突とその調停を受け入れ、カートに

    Dynamoの論文を訳した - 小野マトペの納豆ペペロンチーノ日記
  • 1