[[Swift/概要]]

調査中のものや、ちょっとしたメモなど。

*コンテナの仕様 [#ie33ff5f]

-Objectはコンテナの中にしか作れない
-コンテナの中にコンテナは作れない

なのでオブジェクトのURLは
http://<proxy-server>/X-Auth-string/container/object
のような形になります。

*Authサーバの設定 [#ya7cdb7c]

ドキュメントは特にないようです。

また現状、AuthとProxyは同一ホスト上でしか動かないようです。~
恐らく設定例にないだけで、Authサーバの設定でProxyサーバを指定する項目があり、~
localhostを指定しているからではないかと思います。(調査中)

*複数台のProxyサーバ [#ybad7005]

現状のドキュメントによると、Proxyサーバは1台で構成する前提のようです。~
このためボトルネックになることが懸念されます。~
しかしProxy Serverを複数台にすること自体は可能らしく、ドキュメントが整っていないだけのようです。

*Replicatorなど [#rb68608f]

object, container, accountサーバそれぞれに~
auditor, replicator, updaterが存在します。~

-Replicator

冗長化のための複製を行う。~
削除に関しては、0バイトのファイルを複製することで確実に削除している。~
Replicator以外の手段としては、PUTの段階で複数のサーバに書き込んでいます。~
Replicatorの役目としては、ファイルのPUTの後に追加したサーバに対してデータを複製するようです。

-Auditor

調査中。~
システムの監視を行っているらしい。

-Updater

障害等でデータの書き込みが行えなかった場合に、後から書き込むための仕組みらしいです。

*ちょっとした不具合対策 [#h4968945]

Replicator等のログとして、「ERROR Failed to get my own IPs?」と出ることがあります。~
これはOSの言語設定を日本語などにしていると起こります。

Swift内部で、自分のIPアドレスを取得する関数がありますが、言語を日本語などにしていると失敗します。~
実装方法としてifconfigの結果をパースしており、日本語環境だと意図通りの書式ではないため、正常にパースできないようです。~
これらのサーバを起動するスクリプトで、言語をC等に設定することで回避できます。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS