buto > /dev/null

だいたい急に挑戦してゴールにたどり着かずに飽きる日々です

オンプレサーバ間のファイル共有方法

仕事でバックオフィスシステムでアップロードしたファイルがフロントサイトで

どのように参照されるかが知りたいがフロントサイトのコードを追うと該当箇所が多く

時間が足りないのでバックオフィスのアップロード方法だけ確認して、この方法で

アップロードしているからフロントサイトでの参照方法は…と推測できるようにする!

バックオフィス、フロントサイトは別々のオンプレミスサーバです

NFSディレクトリをマウント

baremetal.jp

バックオフィスサーバのNFSディレクトリにファイルをアップロードしているパターン

ファイルアップロード後にファイルにフロントサイトが参照するURL(フロントサイトのドメイン)を発行し

DBにファイル種別(広告バナーなど)とURLを保存していた

フロントサーバでもNFSがマウントされていてDBからファイル種別でURLを取得しHTMLに埋め込めんで表示している

rsyncで転送

アップロードされたファイルをバックオフィスサーバ内に配置しておきrsyncで他のサーバ(多分フロント)に転送しているパターンもあった

転送先はフロントサーバ自身だったら ./img/banner.jpg のように参照している

ただフロントサイトが転送されたファイル名を分からないといけないため、以下のようなルールがあるはず

  • 転送先のディレクトリは「トップページの広告エリアに表示するバナー画像」のように決まったファイル専用となる

  • 転送する1ディレクトリの中に複数のファイルがあり、ファイルの表示を制御したい場合は転送前にファイル名をキー値にする

    • 例えばキャンペーンのhtmlファイルを転送する場合はDBに登録されているキャンペーンID.htmlにする

    • フロントサイトではキャンペーン一覧表示時にDBからキャンペーンデータを取得し、IDから各キャンペーンhtmlを表示するリンクを生成する

結論

DBにファイルアクセス用URLが登録されていたらURL参照、登録されていなかったらフロントアプリでディレクトリ決め打ちしてファイルを取得している!!…はず