Redisを使用して分散ビジネスルール管理システムを構築する方法
スピードと効率は、今日のペースの速いビジネス環境における卓越性の特徴です。
手動の厳格なプロセスに巻き込まれている組織は、面倒なアーキテクチャの重みを負い、ビジネスチャンスが過ぎ去ったときに永遠に足が不自由になります。
しかし、プロセスを自動化した人は、生産性が高く、俊敏性が高く、そしてはるかに可能性が高い 成長を体験する。そのため、組織には分散ビジネスルール管理システム(DBRMS)が必要です。
Vishrut Kohliは、ビジネスコミュニティに影響を与えることを目指して、独自のDBRMSであるBonsaiを構築しました。 Bonsaiは、Redisを使用することにより、プロセスをリアルタイムで自動化できるアプリケーションをユーザーに保証し、ラグが発生する可能性を減らすことで生産性レベルを最大化します。
このアプリケーションがどのように作成されたかを見てみましょう。ただし、先に進む前に、RedisLaunchpadでチェックできる革新的なアプリも豊富に用意されていることを指摘しておきます。
したがって、この投稿を楽しんでいる場合は、必ず後で参照してください!
Redisを使用して分散ビジネスルール管理システムを構築する方法
- 何を構築しますか?
- 何が必要ですか?
- アーキテクチャ
- はじめに
- バックエンドの設定
- フロントエンドの設定
- 仕組み
- さまざまな機能を実行する方法
1。 何を構築しますか?
企業全体でスケーラブルなビジネスルールを作成、管理、実装するのに役立つ分散型ビジネスルール管理プラットフォームを構築します。多くのビジネスタスクは自動化でき、ビジネスの他の場所に投資できる追加のリソースを解放できます。
このアプリケーションを使用すると、組織はビジネスの意思決定ルールと意思決定ロジックを指定、展開、および管理できるため、アプリは人間の介入なしに迅速かつインテリジェントな意思決定を一貫して行うことができます。
以下では、このアプリケーションを実現するために必要なコンポーネントを強調し、実装プロセスの各ステップを順を追って説明します。
始める準備はできましたか?
さて、すぐに始めましょう。
2。 何が必要ですか?
- Python :高目的の強力なプログラミング言語として使用されます
- Redis :ミリ秒未満のレイテンシでリアルタイムデータを取り込み、処理、分析するためのメモリ内データストア。
- RedisJSON :RedisでJSONサポートを提供するモジュールとして使用されます
- RedisTimeSeries :時系列データ構造をRedisに追加するモジュールとして使用されます
3。 アーキテクチャ
4。 はじめにRedisStackデータベースが稼働していることを確認してください:
5。 フロントエンドの設定
CreateReactアプリの使用を開始する
このプロジェクトは、CreateReactAppでブートストラップされました。
ステップ1:フロントエンドリポジトリのクローンを作成する
ステップ2:依存関係をインストールする
yarn install
ステップ3:利用可能なスクリプトを使用する
プロジェクトディレクトリで、次のスクリプトを実行できます。
yarn start
アプリを開発モードで実行します。
http:// localhost:3000を開いて、ブラウザで表示します。
編集するとページがリロードされます。コンソールにlintエラーも表示されます。
yarn test
インタラクティブウォッチモードでテストランナーを起動します。
詳細については、テストの実行に関するセクションを参照してください。
yarn build
本番用のアプリをビルドフォルダーにビルドします。
Reactを本番モードで正しくバンドルし、ビルドを最適化して最高のパフォーマンスを実現します。
ビルドは縮小され、ファイル名にはハッシュが含まれます。
これで、アプリをデプロイする準備が整いました。
詳細については、展開に関するセクションを参照してください。
yarn eject
注: これは一方向の操作です。一度排出すると、元に戻すことはできません!
ビルドツールと構成の選択に満足できない場合は、いつでもイジェクトできます。このコマンドは、プロジェクトから単一のビルド依存関係を削除します。
代わりに、すべての構成ファイルと推移的な依存関係(webpack、Babel、ESLintなど)をプロジェクトに直接コピーして、それらを完全に制御できるようにします。イジェクトを除くすべてのコマンドは引き続き機能しますが、コピーされたスクリプトを指すため、微調整できます。この時点で、あなたはあなた自身です。
イジェクトを使用する必要はありません。厳選された機能セットは中小規模の展開に適しており、この機能を使用する義務を感じてはなりません。ただし、準備ができたときにカスタマイズできなかった場合、このツールは役に立たないことを理解しています。
ステップ4.BonsaiRuleEngineのクローンを作成する
git clone:https://github.com/redis-developer/bonsai
ステップ5.Pythonの依存関係をインストールします
ステップ6.スクリプトを実行します
6。 仕組み
キーワード
- 名前空間
- ルール
- エンティティ
名前空間
ルールの最も論理的な分離は、名前空間に基づいています。名前空間は、一連のデータに対して評価される一連のルールです。たとえば、この投稿の後半で、忠誠管理システムの名前空間を作成し、それに関するすべてのルールをその名前空間に保存します。
- データを保存するための構造は次のとおりです
名前空間は次のとおりです:
tax_system.
名前空間の作成に使用されるコマンドは次のとおりです。
エンティティ
エンティティは名前空間の入力を参照し、その名前空間に存在するルールを評価した後、出力を提供します。
ルール
サブキーワード
- 述語: これは、ルールの入力条件を意味します。
- 結果: これは、ルールの出力条件を意味します。
- 演算子: 7つのオペレーターがあります:
–eqは=を意味します
–範囲は、値が指定された範囲の間にある必要があることを意味します(上限は含まれません)
– containsは、文字列に指定された入力値が含まれている必要があることを意味します。
–gtはより大きいまたは>を意味します
–gteは>=以上を意味します
–ltは<未満を意味します
–lteは<=
以下を意味します
たとえば、オンタリオ州とトロント市に住む市民の税額を決定するルールを作成したいとします。さらに、この人は35%の所得税を支払います。したがって、州と市の2つの変数がありますが、1つの出力tax_rateがあります。
したがって、この場合、州の1つの例の述語(入力)はオンタリオ州であり、4つの部分で構成される述語にすることができます:
各ルールは、特定の入力(エンティティ)への出力を決定するコマンドです。すべてのルールは、次の形式で名前空間に保存されます。
Ontario and the city is Toronto the tax rate will be 35.
これはルールオブジェクトです:
ここでの名前空間は次のとおりです。
loyalty_systemrule_idは次のとおりです:
123456.
名前空間のルールを更新するために使用されるコマンドは次のとおりです。
名前空間のすべてのルールを取得するために使用されるコマンドは次のとおりです。
rule_idによって名前空間内の1つのルールを取得するために使用されるコマンドは次のとおりです。
7。 さまざまな機能を実行する方法
ルールの作成方法
ホーム画面で[作成]をクリックします。
次に、さまざまなフィールドに入力して、ルールの作成を完了します。ルールの視覚化
ルールを作成すると、フローチャートの形式でルールを簡単に視覚化できるようになります。ルール評価
評価フローには、ルールの作成に使用されたすべての属性が含まれています。アプリケーションには、パターンマッチングアルゴリズムを使用して、エンティティに最適なルールを確認し、ルールが実行される順序を出力するコードがあります。ルール分析
RedisTimeSeriesを使用すると、すべてのメトリックを視覚化し、名前空間内のすべてのルールのパフォーマンスに基づいてデータ主導の意思決定を行うことができます。時系列データを公開するために使用されるコマンド:
TS.ADD ruleId * 1
結論:リアルタイムデータを使用して、効率を高めるDBRMSプラットフォームを作成します
DBRMSプラットフォームを使用すると、従業員や企業は、組織にとって不可欠な時間のかかる面倒なタスクを実行する必要がなくなります。 DBRMSプラットフォームを介してこれらのタスクを自動化すると、各従業員の注意をより面倒なタスクに向けることで、組織を完全に活性化できます。
ただし、DBRMSシステムを有効にするには、エリートレベルのパフォーマンスを一貫して保証するために、リアルタイムデータベースを利用する必要があります。単なる遅れはプロセス効率を停滞させ、それによって生産性に悪影響を与える可能性があります。
Redisのおかげで、すべてのビジネスルールをリアルタイムで管理、更新、および維持することができました。これにより、パフォーマンスに関するリアルタイムの洞察を取得し、ビジネスチャンスを活用するのに役立つデータ主導の意思決定を即座に行うことができます。
Bonsaiがどのように作成されたかについて詳しく知りたい場合は、こちらでVishrutのYouTubeビデオをご覧ください。しかし、それだけではありません。RedisLaunchpadでチェックアウトできる革新的なアプリケーションも幅広く用意しています。
世界中のプログラマーがRedisの魔法を利用して、日常生活に影響を与えています。
上に向かいます。触発されます。そして、Redisを楽しんでください。
誰がアプリを作成しましたか?Vishrut Kohli
Vishrutは、Python、MATLAB / Octave、機械学習アルゴリズムに精通したフルスタックの開発者およびデータ愛好家です。彼のすべてのプロジェクトを最新の状態に保ちたい場合は、GitHubで彼をフォローしてください。
-
Redis Jedis pubsub-jedisライブラリを使用してpub/subシステムを実装する方法
このチュートリアルでは、Jedisライブラリを使用してredispubサブシステムを実装する方法について学習します。 ジェダイライブラリ Jedisは、redisデータストア用のJavaクライアントライブラリです。小さくて非常に使いやすく、redis 2.8.x、3.x.x以降のデータストアと完全に互換性があります。 jedisライブラリの詳細についてはこちらをご覧ください。 Redis Pub / Sub System Redisは、パブリッシュ/サブスクライブメッセージングパラダイムを実装します。このメッセージングパラダイムによれば、メッセージの送信者(発行者)は、メッセージ
-
SwiftUIでデザインシステムを構築する方法
1 つの製品をサポートする設計システムを構築するのは簡単ではありません。スケーラビリティのために堅牢で柔軟でなければなりません。困難ではありますが、多くの優れたリソースが、チームが視覚的にもプログラム的にも優れたシステムを構築するのに役立つ有用な原則とアプローチを共有しています。この記事は、SwiftUI で優れたシステムを構築することに焦点を当てることで、彼らの肩に寄り添い、手付かずの地に貢献しようとします。 . なぜこの記事を書くのか ニューヨークの ITP での最初の夏に、幸運にも Line Break Studio で iOS 開発者のインターンとして働く機会がありました。私が割り当