learning center banner

ルールエンジンとは何ですか?

ルールエンジンとは何か、それがどのように機能し、ビジネスの意思決定を自動化する役割について理解します。また、現代のシステムにおけるその重要性と提供する利点についても理解します。

ルールエンジンは、ルールベースのロジックを管理および実行するためのツールです。あらかじめ定義された一連のルールに基づいており、入力データと条件に基づいて自動的に対応するアクションや決定を実行します。ルールは条件-アクション形式で表現され、条件は特定の状況やイベントを説明し、アクションは条件が満たされたときに実行される操作を定義します。複数のルールが存在し、それぞれ独自の条件とアクションを持つことができます。

ルールエンジンの利点

ルールエンジンの利点は、その柔軟性とスケーラビリティにあります。ユーザーは、基盤となるコードを変更することなく、複雑なビジネスルールを簡単に定義および管理できます。また、ルールエンジンはビジネスプロセスの自動化を強化し、手動介入を減らし、効率性と正確性を向上させます。

ルールエンジンは、ビジネスプロセスマネジメント、意思決定支援システム、リスク評価、詐欺検出、ネットワークサービス保証など、さまざまな分野で広く利用されています。これにより、組織や企業は複雑なビジネスルールを管理および実行するための柔軟で構成可能な方法を提供します。

ルールエンジンの仕組み

EdgeOneのルールエンジンの例を取ると、ルールエンジンの作業プロセスは以下のステップで要約できます:

  1. ルール定義: まず、ルールエンジンは特定のビジネス要件に基づいて一連のルールを定義する必要があります。各ルールは条件とアクションで構成されます。条件は特定の状況やイベントを説明し、アクションは条件が満たされたときに実行される操作を定義します。
  2. データ入力: ルールエンジンは、ルールと照合するために使用する入力データを受け取ります。ユーザーサイトからの入力データには、ドメイン名、IPアドレス、ファイル名などが含まれます。
  3. ルールマッチング: ルールエンジンは、ルールリポジトリ内のルールと入力データを照合します。各ルールの条件を個別にチェックして、どのルールの条件が入力データと一致するかを判断します。
  4. 推論と決定: ルールエンジンが入力データと一致するルールを見つけたら、対応するアクションをトリガーします。これらのアクションは、キャッシュ設定、ネットワーク最適化、インテリジェント圧縮、または他のビジネスプロセスをトリガーすることができます。
  5. 出力結果: ルールエンジンは、URLの書き換え、HTTPヘッダーの修正、およびその他のドメイン加速機能を含む対応するポリシーを生成します。

ルールエンジンの作業プロセスは通常自動化されており、あらかじめ定義されたルールセットに基づいて迅速にルールマッチングと推論を行い、ビジネス要件における差別化されたシナリオをカバーします。

ルールエンジンデザインパターンとは何ですか?

ルールエンジンデザインパターンは、ルール処理のロジックからルールを分離するソフトウェア開発技術であり、単一責任原則に従っています。このデザインパターンにより、システムの残りの部分を変更することなく新しいルールを容易に追加でき、オープン/クローズ原則にも準拠しています。

ルールエンジンデザインパターンは、ルールのコレクションを反復処理し、実行し、結果を評価し、取るべきアクションを決定するEvaluatorクラスで構成されます。これらのルールは、単一の責任を持つ単純なインターフェイス(例えば、IDiscountRule)を実装しており、必要に応じて単純または複雑にすることができます。このアプローチにより、コードの整理が改善され、可読性、保守性、テスト性が向上します。特に長いif-elseやswitch文を置き換える必要がある場合や、データが複数の条件に一致し、複数のプロセスがそれに対して実行される可能性がある場合に役立ちます。ルールエンジンデザインパターンは、レコードバージョンや顧客オブジェクトのプロパティに基づいて異なるルールセットを適用する必要がある場合に特に有用です。ルールを処理ロジックから分離することで、開発者は全体のシステムアーキテクチャに影響を与えずにルールを簡単に管理および更新できます。

EdgeOneのルールエンジン

HTTP/HTTPSのようなアプリケーション層プロトコル専用に設計されたインターネットコンテンツ配信加速サービスと比較して、EdgeOneのルールエンジンは、ウェブサイト、オンラインアプリケーション、ストリーミングメディアなどのコンテンツ配信に特に適しています。ルールエンジンは、キャッシュ最適化、ファイル最適化、ネットワーク最適化などの豊富な構成オプションを通じて、よりカスタマイズされた、効率的で安定したコンテンツ配信を実現します。これにより、ビジネスユーザーの満足度が向上し、ウェブサイト、アプリケーション、または他のオンラインサービスの競争力が強化されます。

ルールエンジンは、異なるサブドメイン、パス、またはファイル拡張子など、マッチング条件に違いがある構成に適しています。また、キャッシュやHTTPSなどの基本的な構成や、カスタムキャッシュキー、URLの書き換え、HTTPヘッダーの修正などの追加の加速機能もサポートしており、特定のビジネスニーズに応えています。

サポートされているマッチングタイプ

EdgeOneのルールエンジンで設定できる条件は、以下の表に示されていますのでご参照ください。

タイプ説明サンプル値
HOSTリクエストホストwww.example.com
URLパスリクエストURLパス/example/foo/bar パスに一致させたい場合は、/example/foo/bar と記入します。/example ディレクトリとその下のすべてのファイルに一致させたい場合は、/example/* と記入します。
URLフルリクエストされたURLの完全内容https://www.example.com/foo
クエリ文字列リクエストURLのクエリ文字列パラメータ名: キー パラメータ値: 値
ファイル拡張子リクエストされたコンテンツのファイル拡張子jpg, png, CSS
ファイル名リクエストされたコンテンツのファイル名foo.txt
HTTPリクエストヘッダーHTTPリクエストヘッダーHTTPリクエストヘッダー名: name HTTPリクエストヘッダー値: value
クライアント地理位置情報クライアントIPの国/地域アメリカ合衆国
リクエストプロトコルリクエストされたプロトコルタイプHTTPSまたはHTTP
すべて任意のサイトリクエストN/A

サポートされているアクション

アクションは、マッチングリクエストがヒットしたときにルールエンジン内で実行される一連の機能構成を指します。以下の表は、ルールエンジンのサポートされているマッチングタイプとアクションを示しています。詳細については、サポートされているマッチングタイプとアクション.

アクション説明サポートされているマッチングタイプ
ノードキャッシュTTL キャッシュTTLを設定することで、ノードキャッシュを最適化し、リソースの読み込みを改善し、リソースを迅速に更新できます。HOSTURL FULLURL PathFile nameFile extension
ブラウザキャッシュTTLリソースのブラウザキャッシュ期間を調整することで、ブラウザキャッシュを最適化し、要求されたリソースの読み込み速度を向上させることができます。HOSTURL FULLURL PathFile nameFile extensionQuery stringClient geolocation

カスタムキャッシュキー
要求されたリソースを迅速に読み込むために、クエリ文字列、HTTPヘッダー、およびURLケースを設定することでキャッシュキーをカスタマイズできます。HOSTURL FULLURL PathFile nameFile extensionQuery string HTTP Request HeaderClient geolocation
ステータスコードキャッシュTTLオリジンレスポンスのステータスコードにTTL期間を指定することで、ノードが非2XXコードで直接応答できるようになります。HOSTURL FULLURL PathFile nameFile extensionQuery string
キャッシュプレフレッシュキャッシュされたリソースは、有効期限前にオリジンプルを介して検証されるため、サイトは要求に迅速に応答できます。HOSTURL FULLURL PathFile nameFile extension
オフラインキャッシュオフラインキャッシングが有効になった後、オリジンが失敗し、オリジンプルを介してリソースを取得できない場合でも、通常、ノードにキャッシュされたリソース(期限切れのリソースも含む)を使用して、オリジンが回復するまで応答できます。HOSTURL FULLURL PathFile nameFile extensionQuery string HTTP Request HeaderClient geolocation

設定方法

ここでは、読者が参考にできる簡単な例を示します。

リクエストURLが: https://test.example.com/example/1.jpg の場合、ファイルは10分間キャッシュされます。

リクエストURLが: https://test.example.com/example/1.mp4 の場合、ファイルはキャッシュされません。

リクエストURLが: https://test.example.com/video/1.jpg の場合、規定のルールには適合しません。
rules engine configuration

結論

Tencent EdgeOne は、ビジネスサービスにおける柔軟性と粒度を提供します。必要に応じて、マッチングタイプをカスタマイズし、対応するアクションに適用できます。さらに詳しく知りたい場合は、お気軽にお問い合わせください。