サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
kamihikouki.hatenablog.com
マイクロサービスアーキテクチャでよく利用される、APIGatewayパターンとBFFについて調べたのでメモ なぜAPIGateway? マイクロサービスアーキテクチャでシステムを構築する場合、複数のサービスを組み合わせる形でシステムが構築される。 たとえば、ECサイトの商品詳細を表示するために、商品情報サービス、レコメンデーションサービス、レビューサービスを利用する必要がある、ということ。この場合アプリケーションの実装によっては並行リクエストを行うのが難しかったり、モバイルアプリケーションの場合は帯域の問題も発生する。(その他にもいろいろあるが割愛) そこで、アプリケーションとサービスの間にAPIGatewayというレイヤーを追加することで問題を解決する。 APIGatewayの実装 単純な場合はこの図のようになって、全てのアプリケーションからのリクエストを1つのAPIGatewayで受け
kubernetesを利用しているとき、 kubectl exec -it "pod_name" /bin/bash で目的のコンテナにbashログインすることができますが、これがなぜ動いているのか理解できていなったので調べてみました。 kubectl execとsshと何が違うのか?(sshと同じセキュリティ対策が必要ではないのか??)と聞かれたときに違うとは思うんだけどどう違うのかうまく答えられなくて気になってしまったのがきっかけです。 概要 調べてみたところ既に質問していた人がいました。 Google グループ このフォーラムによると、kubectl exec は以下のように流れていくようです。 kube-apiserver(以下apiserver)にPOSTリクエストを投げる( /v1/namespaces/{ns}/pods/{pod}/exec ) このリクエストには SPDY
現象: docker-composeをインストールしているとき、sudo したときだけコマンドが見つからない。 原因: visudo で編集できる secure_path に/usr/local/bin が含まれていない。 docker-composeは /usr/local/bin 配下にインストールされる 対応: Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/binに/usr/local/binを追加 Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/local/bin:/usr/bin何回もやって都度忘れてたのでかいとく
RailsからRDSを利用する場合、そのままコネクションプーリングを行うと、RDSのfailover時に利用していないサーバに接続してしまいます。 コネクションプーリングを止めてる事例( http://blog.livedoor.jp/sonots/archives/38797925.html とか ) がいくつか見つかりますが、ここで利用されているgem ( https://github.com/sonots/activerecord-refresh_connection ) は、マルチスレッドに対応していないため、アプリケーションサーバにpumaを利用している場合、このgemを使うことはできません。 そこで、なんとかできないかなーと調べてみたところ、ActiveRecordにreaping_frequencyという設定があるのを発見しました。 rails/connection_pool
Rails5.1からidカラムがbigintになるのでその対応メモ。 ↓は対応した人のエントリです。bigintが必要になってから変更するのでは間に合わないので最初から設定しちゃおうみたいな感じですね。 Rails 5.1: Default Primary Keys Are Now BIGINT このPR(Restore the behaviour of the compatibility layer for integer-like PKs by kamipo · Pull Request #27389 · rails/rails · GitHub) にもあるように互換性には気を使って開発してくれていますが、schema.rbは migrate:reset タスクを実施するなどして再生成する必要があるみたいです。 schema.rbが下記のようになっていたとして、 create_tabl
Railsで検索フォームみたいなのを作るとき、RailsGuide通りにすると <%= form_tag("/search", :method => "get") do %> <%= label_tag(:q, "Search for:") %> <%= text_field_tag(:q) %> <%= submit_tag("Search") %> <% end %> ↑みたいなコードになり、フォームから遷移するURLに 「/search?utf8=✓&q=&commit=Search」 のようにutf8パラメータとcommitパラメータがつきます。 まぁ別に困らないのだけど、よくわらないパラメータがURLに追加されるのはいまいち。。 ちょっと気になったので、それぞれ調べてみました。 ・utf8パラメータ 出力自体は、↓のutf8_enforcer_tagで行われています。 https
このページを最初にブックマークしてみませんか?
『kamihikouki.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く