このトピックでは、Microservices Engine (MSE) クラウドネイティブ ゲートウェイとセルフマネージド ゲートウェイのコスト、安定性、セキュリティ、使いやすさ、およびスケーラビリティの観点からの違いについて説明します。
項目 | MSE クラウドネイティブ ゲートウェイ | セルフマネージド NGINX Ingress ゲートウェイ | セルフマネージド Spring Cloud ゲートウェイ | |
コスト | リソース コスト |
| リソースの O&M が必要です。 CPU とメモリの リソースを提供する必要があります。 リソース コストが高くなります。 | リソースの O&M が必要です。 CPU とメモリの リソースを提供する必要があります。 リソース コストが高くなります。 |
システム開発コスト |
|
|
| |
安定性 | 高可用性 | ゲートウェイは複数ゾーンにデプロイされ、障害は自動的に検出されて修正されます。 最大 99.95% のサービスレベル契約 (SLA) が提供されます。 | 低い SLA を提供する可能性のある高可用性システムを開発する必要があります。 | 低い SLA を提供する可能性のある高可用性システムを開発する必要があります。 |
パフォーマンス |
| 手動によるパフォーマンス チューニングが必要です。 | 手動によるパフォーマンス チューニングが必要です。 | |
監視とアラート | MSE クラウドネイティブ ゲートウェイは、Prometheus Service、Log Service、および Tracing Analysis と緊密に統合されています。 MSE クラウドネイティブ ゲートウェイは、さまざまなダッシュボードを提供し、サービス レベルでメトリック データを表示し、DingTalk メッセージ、電話、およびテキスト メッセージを使用してアラート通知を送信します。 また、MSE クラウドネイティブ ゲートウェイでは、カスタム アラート ルールを作成することもできます。 これにより、異常なゲートウェイを特定できます。 | 監視およびアラート システムを開発する必要があります。 | 監視およびアラート システムを開発する必要があります。 | |
セキュリティ | Web アプリケーション ファイアウォール (WAF) 保護 | 組み込みの WAF が提供されており、リクエストの処理時間と応答時間を短縮します。 インスタンス レベルの保護ではなく、ルート レベルの保護が使用されます。 | 個別の WAF が使用され、セキュリティ保護に時間がかかります。 | 個別の WAF が使用され、セキュリティ保護に時間がかかります。 |
認証 | JSON Web Token (JWT) や OAuth などの複数の認証方式が使用されます。 ルート レベルのブラックリストとホワイトリストが提供されます。 セキュリティ プラグインがサポートされています。 | 複雑なセキュリティと承認の設定を手動で構成する必要があります。 | 複雑なセキュリティと承認の設定を手動で構成する必要があります。 | |
使いやすさ | プロトコル変換 | HTTP から Dubbo への変換がサポートされています。 | 手動操作が必要です。 | 手動操作が必要です。 |
エンドツーエンド カナリア リリース | クラウドネイティブ ゲートウェイは、マイクロサービス ガバナンスと連携して、ビジネス コードを変更することなく、エンドツーエンドのカナリア リリースを実装できます。 | 手動操作が必要です。 | エンドツーエンド カナリア リリースがサポートされています。 | |
スロットリングとデグレード | デフォルトでは、クラウドネイティブ ゲートウェイは Sentinel と統合されており、ルーティング レベルのきめ細かいスロットリング ポリシーとデグレード ポリシーを提供します。 ビジネス コードを変更することなく、スロットリングとデグレードを実装できます。 | ルート レベルのスロットリング ポリシーはサポートされていません。 | スロットリングとデグレードがサポートされています。 | |
サービス検出機能 | サービス検出には、次のサービス ソースを使用できます。Kubernetes クラスタ、Nacos インスタンス、ZooKeeper インスタンス、DNS、固定 IP アドレス、Alibaba Cloud Enterprise Distributed Application Service (EDAS)、および Serverless App Engine (SAE)。 | Kubernetes クラスタをサービス検出に使用できます。 | Nacos インスタンスと ZooKeeper インスタンスをサービス検出に使用できます。 | |
ルーティング |
|
|
| |
スケーラビリティ | プラグイン マーケットプレイス | WebAssembly プラグインがサポートされています。 Java 以外のプログラミング言語で記述された Lua スクリプトを使用して、プラグインのローリング アップデートを実行できます。 更新はミリ秒単位で有効になります。 | Lua スクリプトがサポートされています。 プラグインの更新には、プロセスの再読み込みが必要です。 | Java フィルター拡張機能がサポートされています。 |