サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ブラックフライデー
road288.hatenablog.com
AWSのALB(Application Load Balancer)のログはS3に置かれるが、この中身をサクッと調べたいとき、Athenaを使う方法が標準的で、下記で案内されているようにパーティション射影(Partition Projection)でテーブルを作ってAthenaからクエリする。 パーティション射影を使用して Athena で ALB アクセスログ用テーブルを作成する - Amazon Athena 私も従来はその方法を使っていたが、Athenaはブラウザから使うと動作がもっさりしているし、決まったクエリを1回きり実行して結果を取得したいだけのときならまだしも、探索的にクエリを何発も実行したいときには使い勝手が悪い。 最近他のプロジェクトでDuckDBを使うようになって、使い勝手の良さに感動していたが、DuckDBはALBのログを探索的に調べたいときにもめっちゃ使えると思った
薄い知識で適当にやってたらはまった。 NODE_ENVはnodejsの実行モードを切り替える環境変数でいろいろなところで使われているようだ。おそらくサーバーの実行モードも制御している。 yarn buildしたとき、NODE_ENVを設定しない状態ならビルドが通っていたのが、Dockerfileの中で NODE_ENV=production を指定するとビルドが通らなくなってしまった。 (実際にはこれが原因ということに気づかず、Dockerだからかな?とかMacとLinuxの違いかな?とかそっちばかり考えて(そんなわけないのだが)はまってしまっていた。 結論、 NODE_ENV=production とした状態で、 yarn install すると、package.jsonにあるdevDependenciesをインストールしなくなる。 yarn install | Yarn Yarn wi
kubernetesはserviceの仕組みの中でVIPを使って背後の複数podへのルーティングを管理していて、多くのケースではよしなにやってくれるので便利なのだが、以前Nettyを使ってservice間のコネクションを管理していて、背後にある複数podへの接続が偏る問題に悩んでいた。やりたいこととしては、背後のpod達に完全に均等に接続を振りたいのに、serviceを使うとランダム要素を排除することができず、一定の確率でコネクションがかたよってしまう。 そのときは接続数を増やす(たとえば3バックエンドに対して3コネクションだとどこかに偏ってしまう可能性大だが、3バックエンドに対して300コネクションはれば平均に回帰するのでだいたい均等になる)&一定時間ごとに接続を貼り直すという対策をとったが、headless serviceを使う手もあるというのを最近知った。 きっかけとしてはこの記事で
3日目(最終日)のメモです。各セッションを振り返ったあと、総括をします。 How We Used Kafka to Scale Database Infrastructure LinkedIn内部で使われているドキュメントデータベースであるEspressoについて、Kafkaを使ってデータのレプリケーションをどう行っているかを解説したセッション。 EspressoはバックエンドにMySQLを用いたクラスターデータベースで、以前はデータの可用性を高めるためのレプリケーションをMySQLのレプリケーション機能を用いて行っていた。ただそうするとインスタンス(ノード)ごとのレプリケーションとなり、柔軟性やフェイルオーバー時の負荷の集中などに課題があったので、Kafkaを使ってパーティション単位のレプリケーションにアーキテクチャを変更した、というのがセッションの主旨。 Kafkaを用いて工夫している
Docker for MacにKubernetesが同梱されるようになったことはなんとなく知っていたが、どのように使うのかは分かっていなかったので試してみた。 現時点でのDocker for MacのバージョンはVersion 18.06.0-ce-mac70 (26399)。 Preferenceをみると、Kubernetesというタブができているので、それを開いてEnable Kubernetesにチェックを入れる。 Defaultのオーケストレーションツールを選択する。SwarmはつかったことないのでKubernetesにする(デフォルトはSwarmになっていた)。 画面に沿ってインストールする。インストールは数分かかった。 インストールが終わると、docker for desktopというコンテキストが用意されていて、ターミナル上もそれに切り替わっている。 ᐅ kubectl co
nginxをフロントにおいて、バックエンド(upstream)にリバースプロキシするというのはよくあるけど、nginx - upstreamでkeepaliveさせるには設定がいる。数年前にやっていたのに忘れていたのでメモ。 公式のドキュメントはこちら。 Module ngx_http_upstream_module 公式のママだが、(1)httpバージョンを1.1にする (2)Connectionヘッダを空にする、の2つの設定が必要となる。 upstream http_backend { server 127.0.0.1:8080; keepalive 16; } server { ... location /http/ { proxy_pass http://http_backend; proxy_http_version 1.1; // http1.1する=デフォルトでKeepAli
このページを最初にブックマークしてみませんか?
『road288.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く