見出し画像

スケーラブルで無料のURL短縮サービスをどう作ったか

はじめに

URL短縮サービスは、リンクを効果的に管理・共有できるため、非常に需要があります。これらのサービスは長いURLを短くし、トラッキング分析を提供し、ブランド化をサポートします。しかし、多くのサービスは高額なコストや高度な機能に対する制限があります。

問題

しかし、ほとんどのサービスは限られた無料プランしか提供しておらず、通常は2-5つの短縮リンクしか許可していません。これでは実際の使用には不十分です。さらに、無料のURL短縮サービスは重要な機能を欠いていることが多く、アマチュアによって開発されていることがよくあります。特にブラウザ拡張機能として提供される無料オプションは、有料版がなければ真剣に受け止められることはありません。

解決策:

URL短縮サービスをゼロから構築?それは無理です!代わりに、信頼性のあるオープンソースソリューションを利用しました。この既製のツールを使うことで、ゼロから始める手間を省き、開発時間を大幅に短縮しました。これにより、アプリと管理システムの改善にもっと集中できるようになり、髪の毛を引き抜くことも避けられました!

このシステムを構築する次のステップとして、データ集約アプリケーション設計の3つの柱を確認する必要があります。


タ集約アプリケーション設計の3つの柱

信頼性

  • 冗長性: Shlinkを異なるVPSサーバーで2つのインスタンスで実行します。

  • 監視とアラート: 基本的な監視には無料のステータスピンガーを使用します。

  • 誤用の防止: Googleがドメインを誤用としてフラグを立てないように、短縮前にURLをGoogle Cloud Web Riskで確認します。これにより、悪意のあるURLを特定し、回避することができます。

スケーラビリティ

  • クラウドホスティング: VPSサーバーをレンタルし、Coolifyを使ってコンテナ管理を行うことでコストを抑えます。

  • ロードバランシング: NGINXを使用してトラフィックを分散させます。

  • キャッシング: Redis Upstashを使用してキャッシュを行います。

保守性

  • レート制限: Redis Upstashでレート制限を実装します。

  • ボット検出: Shlinkの内蔵ボット検出機能を使用し、特に認証されていないユーザーにはreCAPTCHAを追加してセキュリティを強化します。

  • クォータ管理: 全ユーザーに対して公平な利用を確保するために、ハードリミットを実装します。

結果

URL Shortener Mylinx: 無料でスケーラブル、コスト効果の高いURL短縮サービスです。現在のコストはわずか**$20/月で、月に最大1000万回の訪問**をサポートし、1000万〜2000万件の短縮URLリンクを生成できます。


結論

URL短縮サービスの構築と管理は、挑戦的でありながらもやりがいがあります。既存のオープンソースツールを活用し、信頼性、スケーラビリティ、保守性の戦略を実装することで、堅牢でコスト効果の高いソリューションを作成できます。コミュニティへの貢献の一環として、近い将来、Mylinx URL短縮サービスのDockerファイルを公開する予定です。これにより、他の人がサービスを展開しやすくなります。この公開リリースに興味がある方は、今後の更新をお楽しみに!

URL Shortener Mylinx: 無料でスケーラブル、コスト効果の高いURL短縮サービスです。現在のコストはわずか2,960円/月で、月に最大1000万回の訪問をサポートし、1000万〜2000万件の短縮URLリンクを生成できます。

いいなと思ったら応援しよう!