Golangでロードバランサーを実装する
2022年1月1日概要この記事はMakuake Advent Calendar 2021の24日目の記事です。(大遅刻しました・・)ラウンドロビンで負荷分散するロードバランサーをGolangで自作してみるという話です。 ロードバランサーとは何かロードバランサーはリクエストを複数のサーバーへ振り分けて負荷分散する(ロードバランシング)機能を持ったサーバーです。 サービスの可用性を高めてくれるリバースプロキシの一種で...
概要この記事はMakuake Advent Calendar 2021の24日目の記事です。(大遅刻しました・・)ラウンドロビンで負荷分散するロードバランサーをGolangで自作してみるという話です。 ロードバランサーとは何かロードバランサーはリクエストを複数のサーバーへ振り分けて負荷分散する(ロードバランシング)機能を持ったサーバーです。 サービスの可用性を高めてくれるリバースプロキシの一種で...
はじめに本記事では、Golangの標準パッケージであるnet/httpを用いて、HTTPルーターを自作する方法について解説します。 標準パッケージはあまり多くのルーティングの機能を提供していません。 例えばHTTPメソッドごとのルーティングの定義ができなかったり、URLをパスパラメータとして利用できなかったり、正規表現を利用したルーティングの定義ができなかったりします。 その為、実際のアプリケーシ...
概要長文の執筆をする際にテキスト校正を自動化しておきたかったのでやってみた。 構成テキストはGithub上で管理するようにしており、ディレクトリ構成は以下のようになっている。 ├── .circleci │ └── config.yml ├── README.md ├── documents │ ├── はじめに.md │ └── おわりに.md ├── images ├── .tex...
OAuth・OIDCへの攻撃と対策を整理して理解できる本(リダイレクトへの攻撃編)を読んだ。 OAuth・OIDCの基本的なセキュリティについて優しく解説されている。 ...
概要 OAuth2、OIDCのキャッチアップで読み漁った資料など。 仕様書 OIDC OpenID Connect Core 1.0 incorporating errata set 1 OpenID Connect Dynamic Client Registration 1.0 incorporating errata set 1 OAuth 2.0 Multiple Response Typ...
雰囲気で使わずきちんと理解する!整理してOAuth2.0を使うためのチュートリアルガイドを読んだ。 OAuth2.0の入門として読みやすい。 ...
OAuth徹底入門 セキュアな認可システムを適用するための原則と実践を読んだ。 OAuthについて詳しく書かれた数少ない本。 入門書を読んだ後で、仕様書を読む流れなどで読んだおきたい。 ...
OAuth、OAuth認証、OpenID Connectの違いを整理して理解できる本を読んだ。 それぞれの違いについて入門者がわかりやすく理解できるように解説されている。 ...
Gitでコミットを分割する方法のメモ。たまにやりたくなる。 // 分割したところを指定。対象commitをeditする。 git rebase -i HEAD~5 // 対象commitがunstageされる git reset HEAD~ // 任意の粒度でadd&commit git add ~ git commit ~ git rebase --continue ...
概要 Goでrouterを作ったときにHTTPサーバーのコードの内部を読んだので、その時のメモ。 github.com - bmf-san/goblin HTTPサーバーのコードリーディング 基本形 Goに入門したとによく見るであろう形のコード。 色々なものが省略されてこの形になっている。 package main import ( "net/http" ) fun...