Redis導入したら、やらかしてしまった話
はじめに
最近インフラ周りを触り始めたエンジニアです。
日々予想外の出来事に悩みながら、一つ一つ勉強しています。
今回はElastiCacheを導入しようとしたときに、うっかりやってしまったミスを紹介します。
ElastiCacheの設定
ドキュメントやブログを参考にして以下のような構成で用意しました。
- キャッシュエンジン:Redis
- 1シャード3ノードの構成
※シャードとノードについてはこちらがわかりやすかったです。
よし(๑•̀ㅂ•́)و✧
そしてサーバの方でエンドポイントを設定します。
AWSのコンソールからクラスターを選択してエンドポイントを把握!そのままエンドポイントを設定しました...
何が起きたのか
1シャード3ノードの場合、以下のようになります。
Primary Node ✕ 1 = 読み書き可能
Replica Node ✕ 2 = 読み込みのみ可能
エンドポイントの設定でクラスターのエンドポイントを設定したために、キャッシュを書き込む際にReplica Nodeにも書き込みを行ってしまってました...そりゃエラーになるわけだぜベイベー...orz
どうすべきだったのか
現状はReplica Nodeを削除してPrimary Nodeのみで運用してます。
これ正直ベストはわかってないのですが、
書き込み時はPrimary Nodeのエンドポイントを指定
読み込み時はReplica Nodeのエンドポイントを指定
するのがよいのかなーと検討してます。
どなたかベスト・プラクティスを知ってる方いたらご教授いただきたいです...!
最後に
やっぱインフラは触ってみないとわからないこと多いですね。
挫けず日々精進したいと思います。
Author And Source
この問題について(Redis導入したら、やらかしてしまった話), 我々は、より多くの情報をここで見つけました https://qiita.com/TOC8/items/c0e40c42535d2f09be5a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .