Creations

bootjpが作成したプロダクトのコレクションです。

分散システム / 合意アルゴリズム

  • create-raft-redis — GoとHashiCorp Raftによる教材用Redis互換KVS。「Goで作って理解するRaftベースRedis互換KVS」のコード。elastickvとは別の実装
  • go-kvlib — 上記教材向けに作成したRaft対応KVS用ライブラリ
  • elastickv — Go製の実験的な分散KVS・FUSEファイルシステム。etcd/raftによる複製、Pebbleによる永続化、複数Raftグループのシャードルーティングと、Redis・DynamoDB・S3の主要APIとの互換機能を実装。OSSとして開発し、ホームラボで実運用中

低レイテンシー・低コストな配信基盤

  • resize.gg — VRChat向けの画像配信CDN。リサイズを含む画像配信を設計・運用
  • dcache — CoreDNSプラグインによる非同期分散キャッシュ。Redis Pub/Subで名前解決結果をノード間共有し、インメモリのまま高クエリ環境でのレイテンシーを改善(DNSキャッシュ改善手法の論文の実装・評価)
  • cloudflare-gslb — Cloudflare DNSレコードに対するヘルスチェックと自動フェイルオーバーを行うGSLB
  • simpleDNS — DNSフォワーダ / キャッシュサーバ

ツール・ライブラリ

著作(技術同人誌)

  • Goで作って理解する Raftベース Redis互換KVS — 技術書典16。Redisを題材に、Raft合意アルゴリズムを用いた強整合性KVSの構築を学ぶハンズオン書籍。単なる実装解説に留まらず、分散システムにおいてなぜRaftが必要なのか、AWS等の実際の故障事例と併せて「止まらない・壊れない」システムの設計思想を解説。分散KVSを一から組み上げて動かすことで、分散合意の実践的な理解を目指す一冊。

VRChat関連ツール / 終了したサービス

サードパーティー一覧