一部のアプリケーションシナリオでは、リアルタイム処理のためにパブリックネットワーク(モバイル端末、HTML Webページ、PC、サーバー、ハードウェアデバイス、カメラなど)からデータを収集する必要があります。
従来のアーキテクチャでは、フロントエンドサーバーとKafkaの組み合わせを使用して上記の機能を実現できます。しかし、今や、そのようなアーキテクチャは、より信頼性が高く、費用効果が高く、柔軟性があり、安全なソリューションを備えたログサービスで置き換えることができます。
シナリオ
パブリックネットワークでは、モバイル端末、外部サーバ、ウェブページ、およびさまざまなデバイスからデータを収集できます。収集されたデータは、リアルタイムコンピューティングやデータウェアハウスなどのアプリケーションに使用する必要があります。
解決策1: フロントエンドサーバー + Kafka
KafkaはRESTfulプロトコルをサポートしておらず、ほとんどの場合クラスタで使用されます。したがって、Nginxサーバーをパブリックネットワークプロキシとして設定し、LogStashまたはAPIを使用してNginx経由でKafkaのようなメッセージミドルウェアにデータを書き込む必要があります。
必要なインフラストラクチャは次のとおりです。
デバイス | 数量 | 目的 | 価格 | |
---|---|---|---|---|
ECS サーバー | 2 ユニット | 1 コア, 2 GB | フロントエンドホスト, 負荷分散、および相互バックアップ | 22.26 USD 1台あたり 2500円 / 月 |
ロードバランサ | 1 ユニット | 標準 | 従量課金インスタンス | 400円/月 + 12.3円 / GB(データトラフィック) |
Kafka/ZK | 3 ユニット | 1 コア, 2 GB | データの書き込みと処理 | 1台あたり 2500円 / 月 |
解決策 2: LogHubを使用する
Mobile SDK、LogtTilまたはWeb Tracking JSを使用して、LogHub エンドポイントに直接データを書き込みます。
必要なインフラストラクチャは次のとおりです。
デバイス | 目的 | 価格 |
---|---|---|
LogHub | リアルタイムデータ収集 | 0.34375円 / GB |
シナリオの比較
シナリオ1:毎日最大10 GBのデータが収集され、約100万の書き込み要求が生成されます。(この例の10 GBは圧縮されたサイズなので、実際のデータサイズは50 GB〜100 GBです)。
Solution 1:
--------------
Load balancer (lease): 0.005 * 24 * 30 = R3.6 USD
Load balancer (traffic): 0.078 * 10 * 30 = 23.4 USD
ECS cost: 22.26 * 2 = 44.52 USD
Kafka ECS: Free, if shared with other services
Total: 71.52 USD per month
Solution 2:
--------------
LogHub traffic: 10 * 0.05 * 30 = 15 USD
Number of LogHub requests: 0.03 (assuming there are 1 million requests per day) * 30 = 0.9 USD
Total: 15.9 USD per month
シナリオ2:毎日最大1 TBのデータが収集され、約1億回の書き込み要求が発生します。
Solution 1:
--------------
Load balancer (lease): 0.005 * 24 * 30 = 3.6 USD
Load balancer (traffic): 10.078 * 1000 * 30 = 2340 USD
ECS cost: 22.26 * 2 = 44.52 USD
Kafka ECS: Free, if shared with other services
Total: 2388.12 USD per month
Solution 2:
--------------
LogHub traffic: 0.045 * 1000 * 30 = 1350 (tiered pricing)
Number of LogHub requests: 0.03 * 100 (assuming there are 100 million requests per day) * 30 = 90 USD
Total: 1440 USD per month
ソリューションの比較
上記の2つのシナリオでは、LogHubを使用してパブリックネットワークから非常に競争的なコストでデータを収集することができます。さらに、ソリューション2は、以下の側面でソリューション1よりも優れています。
- オートスケーリング:自由に制御できるMB-PB /日のトラフィック
- 豊富な権限制御オプション:ACLを使用して読み取りおよび書き込み権限を制御する
- HTTPS互換性:暗号化された伝送
- 無償のログポスト:追加開発なしでデータウェアハウスへのアクセス
- 詳細な指標データ:ビジネスを知るための指標
- 上流および下流システムとの豊富な一連のSDKインターフェイス:Kafkaのような完全なダウンストリームインターフェイス、Alibaba Cloudおよびオープンソース製品との深い統合