タグ

ブックマーク / christina04.hatenablog.com (3)

  • Causal Consistency - Carpe Diem

    概要 Eventual Consistency(結果整合性)はレプリケーションラグにより「自分が書き込んだデータが読めない」といったような因果関係がおかしくなるケースがあります。 そこでより一貫性の強いものとしてCausal Consistency(因果一貫性)があります。 ※Casual(カジュアル)ではなくCausal(コーザル)です 文字通り因果関係に対する一貫性を保証するもので、以下の4つに分類されます。 Read your writes Monotonic read Monotonic write Write follow reads これらについて図を交えて説明していきます。 Causal Consistency Read your writes (read after write) 読んで字のごとく、自身の書き込みを読み取る際の一貫性の保証です。 保証されていないケース 以下

    Causal Consistency - Carpe Diem
  • 様々なrate limitアルゴリズム - Carpe Diem

    概要 インターネットに晒されているWebサービスでは TV等で紹介されたことによる大量流入 悪意ある人物からの攻撃 クライアントのバグに依る大量リクエスト など、来想定していた以上のトラフィックが来ることはよくあります。 単純にシステムを構築すると大規模トラフィックに対応できずシステムがスローダウンしてしまうため、何かしらrate limitをかけておいた方が良いです。 ただしrate limitと一口に入っても色々あるため、今回は主なrate limitアルゴリズムを紹介します。 Leaky bucket Leaky bucketはデータ転送レートを一定にする(=上限を設定する)アルゴリズムです。 下の図のように、様々な流量の水流がそのバケツに流れ込んでも小さな穴からは一定の水流が流れ出す仕組みです。 ref: What is the difference between token

    様々なrate limitアルゴリズム - Carpe Diem
  • Dockerのネットワークを理解するために覚えたことまとめ - Carpe Diem

    概要 Dockerのネットワーク周りを勉強していると、 docker0 仮想ブリッジ VXLAN link機能 など色んな要素が出てくるのですが、ちゃんと理解していないとすぐ忘れるため一度しっかり学んでみました。 今回はその時に疑問に思ったことをまとめてみました。 環境 docker 1.11.2 構成 マシン IP 役割 ホスト 192.168.33.10 Dockerホスト docker0 172.17.0.1 仮想ブリッジ nginx1 172.17.0.2 コンテナ1 nginx2 172.17.0.3 コンテナ2 事前知識 以下の知識があると学ぶ上で非常に助かります。 ブリッジ 第2層でMACアドレスで判別して転送 3 Minutes Networking No.17 ルータ 第3層でIPで判別して転送 3 Minutes Networking No.28 NAT、NAPT、IP

    Dockerのネットワークを理解するために覚えたことまとめ - Carpe Diem
  • 1