APIで特定のフィールドを取得する。Tweet広告を非表示にするもっと読むコメントを書く2016-10-11mongodbでsecondaryに参照クエリを流す目的mongodbは特に指定しない場合、write/read共にprimaryに対して処理が行われます。これをsecondaryに対してもread処理を流すようにすることで、負荷分散ができますよというお話。Preferenceというオプションがあります。これは、クライアントからMongoDBの読み出しを行う際、どのメンバーに対してread処理を行うかを指定できる設定です。primaryからのみread処理を行う。primaryからread処理を行うが、もし処理が行えない場合はsecondaryからread処理を行う。secondaryからのみread処理を行う。secondaryからread処理を行うが、もし処理が行えない場合はprimaryからread処理を行う。ネットワークレイテンシーが最も低いメンバーから優先的にread処理を行う。}↑のようにクエリごとにread処理を決めることができます。nearestを指定するなどでクエリがバラけるようクライアントの設定を調整しましょう。Concernというオプションがあります。これは、クライアントから『書き込み処理がどこまで行えたら成功とみなすか』を指定できる設定です。concernをmajorityにするなど厳密な設定が必要になります。繋がるとは安易に言えません。readを導入すべきか慎重に検討しましょう。TOTEC2015で優勝しました!TOTECという、サイバーエージェントの社内ISUCON的なエンジニアコンペで優勝しました!今年はチーム戦ということで以下のメンバーで参戦しました。frontこのメンバーは、ピグブレイブというサービスの立ち上げを一緒にやったメンバーで、お互いのことを熟知した状態で大会に望めたのが大きかったなと思います。当日も阿吽の呼吸感がすんごかった。事前準備から当日まで、本当にわいわい楽しくやれたのもこのメンバーだからこそなので、改めてはぎとゆしにはありがとうと伝えたいです。「そのチーム名なんなん」と聞かれることが多かったのですが、説明が難しいので決まるまでの過程を貼っておきますね。事前準備コンペに向けて、事前準備はかなり念入りにやりました。いう話も出るくらいに。ベスト準備賞なんてないけどw事前すり合わせでやっておいてよかったと感じたのは、やることの優先順位をチームとして決めておいたことです。我々は「まずはアプリを作る、動かす!」をポリシーとしていました。してみるとほんと色々やったなぁとしみじみ。「まずは動くものを最速で作る」のポリシーに従い、よいスタートダッシュを切るために、事前に用意していたSTART:DASH!!!というToDoリストを元に環境構築をしました。大きな事故もなく、開始1時間くらいでアプリが動くところまでいけました。共存)、1インスタンスがDBサーバーというシンプルな構成でした。アプリはnodejs、テンプレートエンジンはectを使いました。自分の手に馴染んでいるもので、というのが選択理由です。データストアはmongoとredisを予定してたのですが、渡されたデータの容量がjson化しても1.5GBぐらいだったので、「オンメモリわんちゃん」というはぎの一声でDB全部捨ててオンメモリでいく方針にしました。起動まで3分くらいかかりましたが、なんとかメモリに載りきりました。この時点でDB用に用意していたインスタンスもアプリサーバーに切り替えることにし、再プロビジョニングしました。一応、newrelicやkataribeなどのパフォーマンス計測ツールも用意していたのですが、そもそもの実装量が膨大だったのでチューニングにはあまり時間をかけられなそうでした。割り切りでこの辺のツールも事前にオフっておきました。ちなみに、競技終了前にやるべきことは忘れそうだったのでEND:DASH!!!というToDoリストにまとめてありました。チーム力!!が、主な勝因かなと思っております。あとは、運の要素も大きいです。はっていたヤマが当たったり、定めていたチームポリシーがたまたま競技にマッチしたり。Lionでrvmがインストールできない件macrvmインストールがうまくいかなかったので備忘録代わりに書き残します。1.9.3しても下記のエラーが出てしまいうまくいきませんでした。installation.となる。新しいXcode(4.2以降?)がTraditionalなGCCを持っていないことが原因らしい。下記のオプションを適応して再度実行。--with-gcc=clangで、うまくいきました。APIで特定のフィールドを取得する。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。