Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Prettyfs

2,716 views

Published on

Published in: Technology
  • ACCESS that WEBSITE Over for All Ebooks (Unlimited) ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... DOWNLOAD FULL EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... ...................................ALL FOR EBOOKS................................................. Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Prettyfs

  1. 1. PrettyFS perl による分散ファイルストレージ ふしはらかん ( 株式会社モバイルファクトリー )
  2. 2. 自己紹介 <ul><li>伏原幹(ふしはらかん)
  3. 3. 株式会社モバイルファクトリー所属 </li><ul><li>wassrをどうぞよろしく </li></ul><li>過去に作ったもの </li><ul><li>wema (付箋wiki) perl 関係ない
  4. 4. wasaco (wassr client) perl関係ない
  5. 5. xircd (irc server) perl製 </li></ul></ul>
  6. 6. agenda <ul><li>Webサービスでのファイルの扱い
  7. 7. 分散ファイルストレージ
  8. 8. mogilefsの特徴と不満
  9. 9. prettyfsの概要 </li></ul>
  10. 10. Webサービスとファイル <ul><li>ある程度大きなファイルをどう扱うか </li><ul><li>画像(写真、イラスト)
  11. 11. 音声(podcast, 着うた着メロ)
  12. 12. 動画 </li></ul><li>ユーザーのアップロードするファイルの置場 </li><ul><li>ローカルに保存
  13. 13. DB(RDBMS)に保存 </li></ul></ul>
  14. 14. ローカル保存 <ul><li>処理は簡単(普通のfile read/write)
  15. 15. app serverが分散している場合 </li><ul><li>NFSでディスク共有 </li><ul><li>ディスク障害が心配…… </li></ul><li>rsync等でファイル同期 </li><ul><li>全app serverに配布するのは勿体無い </li></ul></ul></ul>
  16. 16. DBに保存 <ul><li>app serverが分散していても平気 </li><ul><li>MySQLのBLOBとかでつっこむ </li></ul><li>検索しやすい
  17. 17. パフォーマンスに課題 </li></ul>
  18. 18. そこで分散ファイルストレージ <ul><li>サーバの追加で容量を拡張できる
  19. 19. ファイルの種類に合わせた冗長性を確保
  20. 20. 実際のソフトウエア </li><ul><li>mogilefs
  21. 21. livedoorでのapache+mod_perlによる実装
  22. 22. (amazon S3) </li></ul></ul>
  23. 23. mogilefsとは? <ul><li>perlで実装された分散ファイルストレージ
  24. 24. Brad Fitzpatrick氏が開発
  25. 25. trackとstore(とperlbal)で構成されている </li></ul>
  26. 26. mogilefsの構成 store store store store tracker tracker client perlbal
  27. 27. tracker <ul><li>clientとやりとりする </li><ul><li>ファイルの登録
  28. 28. ファイルの取得
  29. 29. storeからファイルを参照するURLの一覧を返す(後述) </li></ul></ul>
  30. 30. store <ul><li>ファイルを保存する
  31. 31. 実体はWebDAVに対応したHTTPサーバ
  32. 32. trackerが複数のstoreにファイルを保存する </li></ul>
  33. 33. mogileのファイル管理 <ul><li>device </li><ul><li>store内のストレージ最小単位 </li></ul><li>class </li><ul><li>保存するファイルのクラス
  34. 34. class毎に幾つのdeviceにファイルを保存するか決められる </li></ul></ul>ファイル A ファイル B
  35. 35. perlbal <ul><li>Perlで実装されたロードバランサー
  36. 36. X-REPROXY-URL </li><ul><li>裏側のappが↑のURLを返すとperlbalがそのファイルを取りにいって返す
  37. 37. trackerが返すstoreのURL(s)を渡して使える
  38. 38. storeは適切なheader(content-typeとか)を返さないのでappで頑張る </li></ul></ul>
  39. 39. mogilefsの問題 <ul><li>実質perlbalが前提
  40. 40. 同じキーのデータを更新するとstoreのURLが変わる(->X-REPROXY-CACHE-FORを迂闊に使えない)
  41. 41. class,deviceの概念が無駄に複雑
  42. 42. 運用処理の動作が不安定(均等化、store毎コピーなど) </li></ul>
  43. 43. 不満があるなら <ul><li>作ればいい! </li></ul>
  44. 44. prettyfs <ul><li>手軽に使える「かわいい」分散ファイルストレージ
  45. 45. 1hostに1対以上のtracker,storeが動く前提
  46. 46. trackerがrevers proxyとしても動く </li><ul><li>perlbal不要(ただしロードバランサはあったほうが良いかも?) </li></ul></ul>
  47. 47. prettyfsの起動 <ul><li>ファイルとシステムの情報を記録するdbへの接続オプションを設定に書いて起動 </li><ul><li>db層を抽象化してあるので、RDBMSを使うこともKVSを使うこともできる
  48. 48. ファイルコピー数も指定できる </li></ul></ul>
  49. 49. ファイルの登録 <ul><li>クライアントからファイルを登録する </li><ul><li>content-typeなど、出力時に指定したいHTTP headerを同時に指定できる
  50. 50. trackerでファイルを受け付け
  51. 51. workerも抽象化してあるので、job queueにどれを使うか、storeへの配置をどうやるか、等選べる </li></ul></ul>
  52. 52. ファイルの取得 <ul><li>mogileと同じ、クライアントによるデータ、store URLの取得も可能
  53. 53. trackerがhttpd(storeに対するrevers proxy)になってる </li><ul><li>http://tracker/filekey のようなURLで直接データ取得ができる
  54. 54. ↑のURLはデータ更新しても当然不変 </li></ul></ul>
  55. 55. 運用 <ul><li>mogilefs+αな管理 </li><ul><li>起動中にtracker+storeを追加
  56. 56. 障害の発生したstoreを切り離す
  57. 57. storeからstoreへファイルを全コピー
  58. 58. 全storeの使用量が均質化するようファイル移動 </li></ul></ul>
  59. 59. 今後の展望 <ul><li>とりあえず公開したい
  60. 60. trackerをplackで動くように
  61. 61. worker, dbの種類を増やす
  62. 62. パフォーマンス向上 </li></ul>

×