ホーム

キャパシティプランニングについて

システムアーキテクチャ

キャパシティプランニングの目的 システムのリソース管理を目的とし、リソースを効率的に利用することを目指す。 キャパシティプランニングのプロセス キャパシティプランニングは概算と詳細を使い分ける。不必要に詳細に踏み込まないようにし、必要な時に適切な詳細を用意する。 アプリケーションのパフォーマンス要件を定義する レスポンスタイム、スループット、同時接続数、負荷性能など。 現在のインフラの稼働状...

キャパシティプランニング

Kubernetesの各コンポーネントについて

インフラストラクチャ

Kubernetesの各コンポーネントについて Control Plane Components kube-apiserver クラスタを操作するためのKubernetes APIを提供するサーバー。水平スケールが可能な形に設計されている。 etcd 全てのクラスタの状態管理を行うための高可用性のキーバリューストア。 kube-scheduler ノードが未割り当ての新しく生成されたPodをどの...

Kubernetes

ジョブ理論を読んだ

ビジネス

ジョブ理論 イノベーションを予測可能にする消費のメカニズムを読んだ。 エンジニアは課題解決する生き物だが、時にユーザーにとって解決したい課題は何か?について真摯に向き合うシーンがあると思う。 そのような時に頭に思い浮かべたい、参考にしたい理論だと思った。 ワードメモ ジョブ 顧客が解決したい課題 ジョブ理論 顧客がどのようなものを買い、どのようなものを買わないかを説明する 片付けるべきジ...

ジョブ理論

SaaSのアーキテクチャについて知るためのリスト

システムアーキテクチャ

SaaSなんもわからん!からSaaS完全に理解した!に近づくために参考になりそうな資料をまとめておく。 資料 docs.aws.amazon.com - SaaS アーキテクチャの基礎 docs.aws.amazon.com - SaaSレンズ docs.aws.amazon.com - SaaS Tenant Isolation Strategies: Isolating Resources ...

アーキテクチャ

Goのrune型について

アプリケーション

rune型とは int32のエイリアス型で、Unicodeのコードポイントを表す。 Unicodeは符号化文字集合や、文字符号化方式などを定めた文字コードの標準規格で、世界の多様な言語や書式、記号に番号を割り当てたもの。 符号化文字集合とは、コンピューター上で扱う文字や記号を重複しないように集めた文字セットのことであり、文字と文字に割り当てられた番号の対応表を指す。文字符号化方式は、文字に割り当て...

Golang

Goでオレオレ証明書がほしいときの一手

アプリケーション

GoでHTTPサーバーを書いているときなどオレオレ証明書がほしいときに役立つワンライナー。 go run $(go env GOROOT)/src/crypto/tls/generate_cert.go -rsa-bits 2048 -host localhost cert.pemとkey.pemが用意できる。 openssl使ったりmkcert使ったりしていたけどGo使っていたらこれで良さそう...

Golang Tips

Goで指数バックオフとジッターを実装してみる

アプリケーション

指数バックオフ(Exponential backoff) リクエストの遅延を乗算的に増加させる(リトライ間隔を遅延させていく)形で失敗したリクエストを定期的に再試行(リトライ)する手法。 ex. 1回目のリトライは1秒後、2回目は2秒後、3回目は4秒後、4回目は8秒後... リトライ設計においては、バックオフのみに依存するのではなく、リトライ上限やタイムアウト(接続タイムアウトとリクエストタイムア...

指数バックオフ リトライ ジッター

Go1.22rcで変更されるServeMuxの仕様

アプリケーション

この記事はMakuake Advent Calendar 2023の19日目の記事です。 なんでこんな大遅刻かというと、唯一埋まっていなかった19日の枠を急遽埋めようと思って投稿したため。元々掴んでいた枠ではないので遅刻ではない。 概要 去年くらいからGoのnet/httpに含まれるServeMuxの機能拡張の提案が出ていてウォッチしていたのだが、最近Closedになったらしい。 cf. net/...

Golang