タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

railsとAuroraに関するjinjin252525のブックマーク (2)

  • AuroraのフェイルオーバーとRailsのコネクションプールを共存させる方法 - Qiita

    はじめに こんにちは、ここ最近AzureからAWSに主戦場を移したalfaです。 AWS なので早速地雷を踏みました。 具体的には、Auroraでフェイルオーバーが発生した際にDBへ書き込みが出来なくなってしまい、アプリが再起動されるまで正しく動かなくなってしまうといった症状です。 何が起こったのか AuroraのフェイルオーバーとActiveRecordのコネクションプールの仕組みは相性が悪かったという事ですが順を追って説明していきます。 クラスターに障害が発生した場合、クラスタエンドポイントのDNS(CNAME)を書き換えることで参照先を切り替える仕組みです。 クラスタエンドポイントをDBの接続先に設定したRubyアプリケーションがあったとき フェイルオーバーしてマスターが切り替わると... アプリケーションは再接続するだけで昇格したマスターを参照できます。 ウルトラハイパーメチャクチ

    AuroraのフェイルオーバーとRailsのコネクションプールを共存させる方法 - Qiita
  • RailsとAmazon Aurora利用時のフェイルオーバー問題を解決 - matsukaz's blog

    tl;dr RailsのコネクションプールとAmazon Auroraのフェイルオーバーの仕組みは相性が悪く、フェイルオーバー時に致命的な問題が発生する 解決方法の1つは、コネクションプールを使わないこと ただし、都度接続だと接続コストがかかる New Relicなどを使ってる場合は、自分の実装以外で使ってるコネクションまで都度接続になってしまう 別スレッドでDB操作を行っている場合、処理中であってもそのスレッドのコネクションまで切断されてしまう(Railsのコネクション破棄がプロセス単位のため) コネクションプールを活かしたままこの問題を解決できたので、その方法をご紹介します。ちなみにRails 4.2の話。 RailsAmazon Aurora利用時のフェイルオーバー問題とは 詳しくはこちら qiita.com 問題が発生する状況をまとめると以下の通りです。 Amazon Auror

    RailsとAmazon Aurora利用時のフェイルオーバー問題を解決 - matsukaz's blog
  • 1