エンジニアリングの記事
URL短縮サービスが高負荷下で実際にどう動くのか。リダイレクトのレイテンシ予算、キャッシュ階層、ClickHouseによる分析パイプライン、冪等なAPI、そしてElidoのエッジを支えるインフラ選定までを掘り下げます。これらは本番システムの実際の数値に基づくエンジニアリングの深掘り記事で、リンクプラットフォーム上に何かを構築したい開発者や、システム設計そのものを楽しみたい方に向けて書かれています。アーキテクチャのページでベンダーを評価するタイプの方は、まずはここから始めてください。
- エンジニアリング
オープンリダイレクトの脆弱性とその防ぎ方
オープンリダイレクトは攻撃者が信頼されたリンクを悪意あるサイトへねじ曲げることを許す。バグの仕組み、フィッシングを支える理由、それを断つサーバー側の修正法を解説。
1分で読了open redirect vulnerability · open redirect · unvalidated redirect - エンジニアリング
URL短縮サービスの構築方法: アーキテクチャとコード
本番環境に耐えうる URL 短縮サービスの構築方法: ショートコード生成、リダイレクトパス、キャッシュ、クリック追跡、不正利用対策、および運用上の考慮事項を解説します。
2分で読了build a url shortener · url shortener system design · short code generation - エンジニアリング
URL リダイレクトの種類: 301、302、307、308 など
あらゆる URL リダイレクトの種類を解説します - 301、302、303、307、308、meta refresh、JavaScript - それぞれの動作、SEO への影響、使い分けの方法。
2分で読了types of redirects · url redirect types · 301 redirect - エンジニアリング
301 vs 302 リダイレクト: ショートリンクにはどちらを使うべきか
301 は恒久的なリダイレクトでランキングシグナルを渡す。302 は一時的で通常は渡さない。ショートリンク・SEO・キャッシュへの影響を解説。
1分で読了301 vs 302 redirect · 301 redirect · 302 redirect - エンジニアリング
URL短縮API: レート制限、リトライ、冪等性
URL短縮APIを本番環境で呼び出す方法。トークンバケット方式のレート制限、バックオフ付きリトライが必要なステータスコード、重複を防ぐ冪等性キーを解説。
1分で読了url shortener api rate limits · api idempotency key · retry with exponential backoff - エンジニアリング
URL短縮ツールはSEOに悪影響を与えるか?重要なメカニズムを解説
URL短縮ツールはSEOに悪影響を与えるか?信頼できるサービスを使えば問題ない。Googleはリダイレクトを通じてランキングシグナルを伝達する。順位を下げる4つのケースとその回避策を解説。
1分で読了do url shorteners hurt seo · are short links bad for seo · 301 vs 302 redirect seo - エンジニアリング
SentryとDatadogを使った短縮リンクの監視
4xx/5xxリダイレクトイベントとエッジレイテンシp99をSentryにissueとして、Datadogにメトリクスとして送信する方法。サンプルダッシュボードとアラート閾値。
1分で読了short link monitoring · sentry url monitoring · datadog short link metrics - エンジニアリング
URLショートナーの仕組み:メカニズムの解説
URLショートナーはどのように動くのか?スラッグから転送先へのマッピングを保存し、クリックのたびにキーを検索してHTTPリダイレクトを返す。そのメカニズムを端から端まで解説します
1分で読了how do url shorteners work · url shortener mechanics · 301 vs 302 redirect - エンジニアリング
TinyURL移行の実装:Pro/Bulk REST、無料プランは非対応
Elido向けワンクリックTinyURL Pro/Bulkインポートの実装背景。公開TinyURLにAPIがない理由、aliasとslugという用語の違い、そして意図的に設けた制限について。
1分で読了tinyurl migration · url shortener · go worker - エンジニアリング
Short.io移行のリリース:ドメインごとのページネーション(1ページあたり150件)
Elido向けのワンクリックShort.ioインポート機能をいかに構築したか。ドメインごとのページネーションモデル、非公開リンク無効化ルール、そして5つの移行ソースの中で最も高速な移行を実現した経緯について解説します。
1分で読了short.io migration · url shortener · go worker - エンジニアリング
Rebrandly移行機能のリリース:ページあたり25件のページネーションと30分という予算
Elido向けのワンクリックRebrandlyインポート機能をいかにして構築したか-低速なページサイズ、ワークスペースフィルタのUX、そして意図的に移行しない対象について。
1分で読了rebrandly migration · url shortener · go worker - エンジニアリング
Dub.co移行機能のリリース:フォルダからタグへのフラット化
ElidoへのワンクリックDub.coインポート機能の構築について-5つの移行元の中で最もクリーンなAPI、フォルダからタグへのフラット化、そしてEUでのデータレジデンシーを重視するチームにとっての移行のメリットを解説します。
1分で読了dub.co migration · url shortener · go worker - エンジニアリング
RedpandaによるFire-and-forget方式のクリック・インジェスチョン
エッジPOPがリダイレクトをブロックせずにクリック・イベントを送信する方法、click-ingesterワーカーがClickHouseへバッチ処理を行う仕組み、そして低レイテンシ実現のために何をトレードオフにしたか。
1分で読了fire-and-forget クリック・インジェスチョン · Redpanda クリック・イベント · ClickHouse バッチ・インサート - エンジニアリング
エッジPOPとDNSのみのルーティング: レイテンシーバジェットのトレードオフ
DNSベースのロードバランシングがp50で約50msを上限とする理由と、エニーキャストエッジPOPがそれ以下を実現する方法、そしてURL短縮サービスに適合するかを決める4つの数値を解説します。
2分で読了edge pop vs dns · anycast vs dns failover · edge routing latency - エンジニアリング
URLリダイレクトのキャッシュ戦略:L1 LRUとL2 Redis
URL短縮サービスのオリジンの前段に配置された2層キャッシュが、いかにしてp95リダイレクトレイテンシを15ms未満に維持しているかを解説します。エビクションポリシー、ワーミング戦略、そして18ヶ月の運用で実際に遭遇した失敗モードについて、エンジニアリングの観点から深く掘り下げます。
1分で読了url redirect cache · ristretto lru · redis cluster - コア記事エンジニアリング
Sentry/GlitchTipを12のGoサービスに接続する--ホットパスを壊さずに
ElidoがどのようにしてすべてのGoサービスに同じパニック + 5xx自動キャプチャを提供する共有sentryinitパッケージを実装したか--そしてedge-redirectのP95 15msバジェットでゼロアロケーションを維持する方法。
3分で読了sentry go middleware · glitchtip self-hosted · observability url shortener - エンジニアリング
クリックアナリティクスにClickHouseを使う理由(Postgresではなく)
ワークロードは月1億件以上のイベントで、書き込み重視の分析クエリ型。カラム型が有利な理由、採用しているスキーマ、そしてPostgresで90日後に直面した壁
1分で読了clickhouse click analytics · clickhouse for analytics · click event storage - コア記事エンジニアリング
FRA、ASH、SGP のリダイレクトで p95 < 15ms を達成する
Elido のエッジリダイレクトパスが3つのリージョンでキャッシュ HIT 時の15ms p95 バジェットを維持する方法 - アーキテクチャ、キャッシュ戦略、実際のリージョン計測値
4分で読了url shortener performance · edge redirect latency · multi-region url shortener - コア記事エンジニアリング
k3s上でElidoをセルフホストする - 完全なプレイブック
k3sクラスター上でElidoの完全なスタックをデプロイするためのステップバイステップガイド:Helmブートストラップ、14のサービス、StatefulSetsとしてのデータプレーン、Caddyオンデマンドとは、バックアップ、およびアップグレード戦略。
4分で読了self hosted url shortener · k3s · kubernetes url shortener - コア記事エンジニアリング
短縮リンクをTerraformで管理する
URLショートナー分野で唯一のTerraformプロバイダー - terraform-provider-elidoをリリースしました。それが何をするか、リソースのライフサイクルがどのように機能するか、そしてその背後にあるエンジニアリングのトレードオフについて説明します。
3分で読了terraform · infrastructure as code · url shortener - エンジニアリング
Bitlyの移行をリリースする:ワーカー、トークン、30分のバジェット
ElidoにワンクリックのBitlyインポートをどのようにビルドしたかについてのEngineering記録 - ワーカーの設計、コンフリクト解決のルール、インプロセスのgoroutineを安全に保つ4つの制限。
2分で読了bitly migration · url shortener · go worker