国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

規(guī)則引擎專題---2、開源規(guī)則引擎對比

這篇具有很好參考價值的文章主要介紹了規(guī)則引擎專題---2、開源規(guī)則引擎對比。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

開源規(guī)則引擎

開源的規(guī)則引擎整體分為下面幾類:

  • 通過界面配置的成熟規(guī)則引擎,這種規(guī)則引擎相對來說就比較重,但功能全,比較出名的有:drools, urule。

  • 基于jvm腳本語言,互聯(lián)網(wǎng)公司會覺得drools太重了,然后會基于一些jvm的腳本語言自己開發(fā)一個輕量級的規(guī)則引擎,比較出名的有,groovy(開源風(fēng)控radar),aviator,qlexpress。

  • 基于java代碼的規(guī)則引擎:基于jvm腳本語言會有一些語法學(xué)習(xí)的成本,所以就有基于java代碼去做的規(guī)則引擎,比如通過一些注解實現(xiàn)抽象的方式去做到規(guī)則的擴(kuò)展,比較出名的有: easy rules。

這邊重點介紹三款產(chǎn)品drools、qlexpress和groovy,先介紹下基礎(chǔ)能力和優(yōu)劣勢,后面再進(jìn)行詳解。

Drools

drools是一款由JBoss組織提供的基于Java語言開發(fā)的開源規(guī)則引擎,可以將復(fù)雜且多變的業(yè)務(wù)規(guī)則從硬編碼中解放出來,以規(guī)則腳本的形式存放在文件或特定的存儲介質(zhì)中(例如存放在數(shù)據(jù)庫中),使得業(yè)務(wù)規(guī)則的變更不需要修改項目代碼、重啟服務(wù)器就可以在線上環(huán)境立即生效。

drools官網(wǎng)地址:https://drools.org/

drools源碼下載地址:https://github.com/kiegroup/drools

在項目中使用drools時,即可以單獨使用也可以整合spring使用。如果單獨使用只需要導(dǎo)入如下maven坐標(biāo)即可:

<dependency>
    <groupId>org.drools</groupId>
    <artifactId>drools-compiler</artifactId>
    <version>7.6.0.Final</version>
</dependency>

如果我們使用IDEA開發(fā)drools應(yīng)用,IDEA中已經(jīng)集成了drools插件。如果使用eclipse開發(fā)drools應(yīng)用還需要單獨安裝drools插件。

drools API開發(fā)步驟如下:

規(guī)則引擎開源組件,規(guī)則引擎專題,規(guī)則引擎,drools,groovy,規(guī)則引擎對比,qlexpress

Groovy

Groovy是用于Java虛擬機(jī)的一種敏捷的動態(tài)語言,它是一種成熟的面向?qū)ο缶幊陶Z言,既可以用于面向?qū)ο缶幊?,又可以用作純粹的腳本語言。使用該種語言不必編寫過多的代碼,同時又具有閉包和動態(tài)語言中的其他特性。

Groovy是從Java衍生出來的,并且運(yùn)行在Java虛擬機(jī)上的語言.其目標(biāo)是不管作為腳本語言,還是編程語言,都可以簡單、直接使用。Groovy 也并不會替代 Java,而是相輔相成、互補(bǔ)的關(guān)系,具體使用哪門語言這取決于要解決的問題和使用的場景。
規(guī)則引擎開源組件,規(guī)則引擎專題,規(guī)則引擎,drools,groovy,規(guī)則引擎對比,qlexpress

QLExpression

由阿里的電商業(yè)務(wù)規(guī)則、表達(dá)式(布爾組合)、特殊數(shù)學(xué)公式計算(高精度)、語法分析、腳本二次定制等強(qiáng)需求而設(shè)計的一門動態(tài)腳本引擎解析工具。
在阿里集團(tuán)有很強(qiáng)的影響力,同時為了自身不斷優(yōu)化、發(fā)揚(yáng)開源貢獻(xiàn)精神,于2012年開源。

QLExpress腳本引擎被廣泛應(yīng)用在阿里的電商業(yè)務(wù)場景,具有以下的一些特性:

1、線程安全,引擎運(yùn)算過程中的產(chǎn)生的臨時變量都是threadlocal類型。
2、高效執(zhí)行,比較耗時的腳本編譯過程可以緩存在本地機(jī)器,運(yùn)行時的臨時變量創(chuàng)建采用了緩沖池的技術(shù),和groovy性能相當(dāng)。
3、弱類型腳本語言,和groovy,javascript語法類似,雖然比強(qiáng)類型腳本語言要慢一些,但是使業(yè)務(wù)的靈活度大大增強(qiáng)。
4、安全控制,可以通過設(shè)置相關(guān)運(yùn)行參數(shù),預(yù)防死循環(huán)、高危系統(tǒng)api調(diào)用等情況。
5、代碼精簡,依賴最小,250k的jar包適合所有java的運(yùn)行環(huán)境,在android系統(tǒng)的低端pos機(jī)也得到廣泛運(yùn)用。

規(guī)則引擎對比

常見能力對比如下:

規(guī)則引擎 QLExpression (ms) groovy(ms) drools(ms)
動態(tài)規(guī)則 支持 支持 支持
靈活性
復(fù)雜度
上手
使用廣度

執(zhí)行性能對比如下:

執(zhí)行次數(shù)\規(guī)則引擎 QLExpression (ms) groovy(ms) drools(ms)
100w 1590 171 364
1000w 12551 709 3530
5000w 60230 3516 19414

三種規(guī)則引擎都支持動態(tài)規(guī)則,可以通過提供的api動態(tài)擴(kuò)展規(guī)則文章來源地址http://www.zghlxwxcb.cn/news/detail-767551.html

  • 靈活性上看groovy和drools支持腳本編寫方式,市面上有常見的包裝方案;
  • 其中QLExpression在中小企業(yè)應(yīng)用較廣泛對熟悉java的選手來說基本開箱即用;
  • groovy和drools作為規(guī)則引擎在互聯(lián)網(wǎng)企業(yè)應(yīng)用較多,有一定的學(xué)習(xí)和培訓(xùn)成本;
  • drools追隨者更多適用面積更廣泛;

到了這里,關(guān)于規(guī)則引擎專題---2、開源規(guī)則引擎對比的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Java中輕量級規(guī)則引擎Groovy介紹

    假如在開發(fā)一個充值功能,需要支持經(jīng)常變化的充值營銷活動,產(chǎn)品提出了以下需求: 1、根據(jù)不同季節(jié),不同節(jié)日做不同的充值送活動,以及不定期的優(yōu)惠活動。 2、還需要根據(jù)用戶的等級以及用戶以往的充值歷史做不同的營銷活動。 3、能夠靈活的配置營銷活動 需求很簡單

    2024年02月10日
    瀏覽(91)
  • 開源游戲引擎和模擬器的項目合集 | 開源專題 No.38

    開源游戲引擎和模擬器的項目合集 | 開源專題 No.38

    Stars: 26.2k License: GPL-3.0 yuzu是一款全球最受歡迎的開源Nintendo Switch模擬器,由Citra創(chuàng)建者編寫。它采用C++語言編寫,并具有可移植性,在Windows和Linux上進(jìn)行積極維護(hù)。該模擬器能夠全速運(yùn)行大多數(shù)商業(yè)游戲,只要您滿足其兼容性要求即可。yuzu支持許多不同類型的游戲,并且可以

    2024年02月08日
    瀏覽(84)
  • OLAP開源引擎對比之歷史概述

    OLAP開源引擎對比之歷史概述

    OLAP概念誕生于1993年,工具則出現(xiàn)在更早以前,有史可查的第一款OLAP工具是1975年問世的Express,后來走進(jìn)千家萬戶的Excel也可歸為此類,所以雖然很多數(shù)據(jù)人可能沒聽過OLAP,但完全沒打過交道的應(yīng)該很少。 這個概念主要是在大數(shù)據(jù)圈里流傳,而在大數(shù)據(jù)領(lǐng)域里,目前主流的

    2024年04月27日
    瀏覽(23)
  • 開源 UI 組件庫和開發(fā)工具庫概覽 | 開源專題 No.59

    開源 UI 組件庫和開發(fā)工具庫概覽 | 開源專題 No.59

    Stars: 87.9k License: MIT Ant Design 是一個企業(yè)級 UI 設(shè)計語言和 React UI 庫。 為 Web 應(yīng)用程序設(shè)計的企業(yè)級 UI。 提供一套高質(zhì)量的開箱即用的 React 組件。 使用可預(yù)測靜態(tài)類型編寫 TypeScript 代碼。 包含完整的設(shè)計資源和開發(fā)工具包。 支持?jǐn)?shù)十種語言國際化支持 基于 CSS-in-JS 實現(xiàn)強(qiáng)大

    2024年01月16日
    瀏覽(44)
  • 【干貨】開源OLAP引擎(ClickHouse、Doris、Presto、ByConity)性能對比分析

    隨著數(shù)據(jù)量和數(shù)據(jù)復(fù)雜性的不斷增加,越來越多的企業(yè)開始使用OLAP(聯(lián)機(jī)分析處理)引擎來處理大規(guī)模數(shù)據(jù)并提供即時分析結(jié)果。在選擇OLAP引擎時,性能是一個非常重要的因素。 目錄 / 基礎(chǔ)查詢場景下 / /?連接查詢場景?/ / 聚合查詢場景 /

    2024年02月12日
    瀏覽(96)
  • java腳本引擎Groovy實戰(zhàn)

    java腳本引擎Groovy實戰(zhàn)

    目錄 一、場景描述 二、javascript語法引擎 JavaScriptEngine getEngineByName eval NashornScriptEngine 三、Groovy語法引擎 一.使用GroovyClassLoader 二、原理? 三、調(diào)用groovy腳本實現(xiàn)方式 1.使用GroovyClassLoader 2.使用ScriptEngine 3.使用GroovyShell 四、性能優(yōu)化 ?五、解決方案 四、項目實戰(zhàn)? 一、概述 二

    2024年02月07日
    瀏覽(17)
  • 【原理圖專題】OrCAD Capture 設(shè)計規(guī)則(DRC)檢查

    【原理圖專題】OrCAD Capture 設(shè)計規(guī)則(DRC)檢查

    在原理圖設(shè)計完成后,需要進(jìn)行DRC檢查,DRC檢查能協(xié)助工程師快速檢查原理圖的物理、電氣規(guī)則是否正確,能快速定位錯誤和原因。 DRC 檢查從Capture 工具欄中如下圖紅框所示的圖標(biāo)中Design Rules Check進(jìn)入 進(jìn)入后將打開DRC窗口,有四個選項卡。分別是Design Rules Options、Electrical

    2023年04月22日
    瀏覽(26)
  • Java動態(tài)腳本&規(guī)則引擎、計算/表達(dá)式引擎

    在日常的Java項目中,我們免不了會遇到這樣的需求: 動態(tài)地獲取并運(yùn)行自定義腳本文件,以實現(xiàn)特定的功能 對數(shù)據(jù)流執(zhí)行用戶自定義的數(shù)據(jù)有效性、公式計算、數(shù)據(jù)處理ETL(如數(shù)據(jù)截取、拼接)等不同業(yè)務(wù)邏輯 對用戶輸入的代碼或腳本文件進(jìn)行測試、運(yùn)行,確保其語法正確

    2023年04月27日
    瀏覽(17)
  • 【PCB專題】如何在嘉立創(chuàng)8月1日起的新規(guī)則下免費(fèi)打樣

    【PCB專題】如何在嘉立創(chuàng)8月1日起的新規(guī)則下免費(fèi)打樣

    ????????嘉立創(chuàng)規(guī)則22.8.1號免費(fèi)打樣開始規(guī)則變更了,那要怎么辦呢?規(guī)格變更說明的鏈接: PCB免費(fèi)打樣規(guī)則變更正式實施,新增6層免費(fèi)! - 嗶哩嗶哩 信守承諾,不玩套路,2021年7月1日嘉立創(chuàng)發(fā)布PCB免費(fèi)打樣活動,并且承諾以年為單位執(zhí)行。2022年7月1日時滿一年,公司本

    2023年04月16日
    瀏覽(16)
  • 規(guī)則引擎調(diào)研及初步使用

    規(guī)則引擎調(diào)研及初步使用

    生產(chǎn)過程中,線上的業(yè)務(wù)規(guī)則內(nèi)嵌在系統(tǒng)的各處代碼中,每次策略的調(diào)整都需要更新線上系統(tǒng),進(jìn)行從需求-設(shè)計-編碼-測試-上線這種長周期的流程,滿足不了業(yè)務(wù)規(guī)則的快速變化以及低成本的更新試錯迭代。 因此需要有一種解決方案將 商業(yè)決策邏輯 和應(yīng)用開發(fā)者的 技術(shù)決

    2024年02月09日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包