精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

這五種規則引擎,真香!

開發 前端
曾有人問我:“規則引擎會不會讓程序員失業?” 我的回答是:“工具永遠淘汰不了思考者,只會淘汰手工作坊”。真正的高手,不是寫更多代碼,而是用更優雅的方式解決問題。

前言

核心痛點:業務規則高頻變更與系統穩定性之間的矛盾。

想象一個電商促銷場景:

// 傳統硬編碼方式(噩夢開始...)
public BigDecimal calculateDiscount(Order order) {
    BigDecimal discount = BigDecimal.ZERO;
    
    if (order.getTotalAmount().compareTo(new BigDecimal("100")) >= 0) {
        discount = discount.add(new BigDecimal("10"));
    }
    
    if (order.getUser().isVip()) {
        discount = discount.add(new BigDecimal("5"));
    }
    
    // 更多if-else嵌套...
    return discount;
}

當規則變成:"非VIP用戶滿200減30,VIP用戶滿150減40,且周二全場額外95折"時,代碼將陷入維護地獄!

規則引擎通過分離規則邏輯解決這個問題:

  1. 規則外置存儲(數據庫/文件)
  2. 支持動態加載
  3. 聲明式規則語法
  4. 獨立執行環境

下面給大家分享5種常用的規則引擎,希望對你會有所幫助。

1.五大常用規則引擎

1.1 Drools:企業級規則引擎扛把子

官網:https://www.drools.org/

適用場景:

  • 金融風控規則(上百條復雜規則)
  • 保險理賠計算
  • 電商促銷體系

實戰:折扣規則配置

// 規則文件 discount.drl
rule "VIP用戶滿100減20"
    when
        $user: User(level == "VIP")
        $order: Order(amount > 100)
    then
        $order.addDiscount(20);
end

Java調用代碼:

KieServices kieServices = KieServices.Factory.get();
KieContainer kContainer = kieServices.getKieClasspathContainer();
KieSession kSession = kContainer.newKieSession("discountSession");

kSession.insert(user);
kSession.insert(order);
kSession.fireAllRules();

優點

  • 完整的RETE算法實現
  • 支持復雜的規則網絡
  • 完善的監控管理控制臺

缺點

  • 學習曲線陡峭
  • 內存消耗較大
  • 需要依賴Kie容器

適合:不差錢的大廠,規則復雜度高的場景

1.2 Easy Rules:輕量級規則引擎之王

官網:https://github.com/j-easy/easy-rules

適用場景:

  • 參數校驗
  • 簡單風控規則
  • 審批流引擎

注解式開發:

@Rule(name = "雨天打折規則", description = "下雨天全場9折")
public class RainDiscountRule {

    @Condition
    public boolean when(@Fact("weather") String weather) {
        return "rainy".equals(weather);
    }
    
    @Action
    public void then(@Fact("order") Order order) {
        order.setDiscount(0.9);
    }
}

引擎執行:

RulesEngineParameters params = new RulesEngineParameters()
    .skipOnFirstAppliedRule(true); // 匹配即停止

RulesEngine engine = new DefaultRulesEngine(params);
engine.fire(rules, facts);

優點

  • 五分鐘上手
  • 零第三方依賴
  • 支持規則組合

缺點

  • 不支持復雜規則鏈
  • 缺少可視化界面

適合:中小項目快速落地,開發人員不足時

1.3 QLExpress:阿里系腳本引擎之光

官網:https://github.com/alibaba/QLExpress

適用場景:

  • 動態配置計算邏輯
  • 財務公式計算
  • 營銷規則靈活變更

執行動態腳本:

ExpressRunner runner = new ExpressRunner();
DefaultContext<String, Object> context = new DefaultContext<>();
context.put("user", user);
context.put("order", order);

String express = "if (user.level == 'VIP') { order.discount = 0.85; }";
runner.execute(express, context, null, true, false);

高級特性:

// 1. 函數擴展
runner.addFunction("計算稅費", new Operator() {
    @Override
    public Object execute(Object[] list) {
        return (Double)list[0] * 0.06;
    }
});

// 2. 宏定義
runner.addMacro("是否新用戶", "user.regDays < 30");

優點

  • 腳本熱更新
  • 語法接近Java
  • 完善的沙箱安全

缺點

  • 調試困難
  • 復雜規則可讀性差

適合:需要頻繁修改規則的業務(如運營活動)

1.4 Aviator:高性能表達式專家

官網:https://github.com/killme2008/aviatorscript

適用場景:

  • 實時定價引擎
  • 風控指標計算
  • 大數據字段加工

性能對比(執行10萬次):

// Aviator 表達式
Expression exp = AviatorEvaluator.compile("user.age > 18 && order.amount > 100");
exp.execute(map);

// Groovy 腳本
new GroovyShell().evaluate("user.age > 18 && order.amount > 100");

引擎

耗時

Aviator

220ms

Groovy

1850ms

編譯優化:

// 開啟編譯緩存(默認開啟)
AviatorEvaluator.getInstance().useLRUExpressionCache(1000);

// 字節碼生成模式(JDK8+)
AviatorEvaluator.setOption(Options.ASM, true);

優點

  • 性能碾壓同類引擎
  • 支持字節碼生成
  • 輕量無依賴

缺點

  • 只支持表達式
  • 不支持流程控制


適合:對性能有極致要求的計算場景

1.5 LiteFlow:規則編排新物種

官網:https://liteflow.com/

適用場景:

  • 復雜業務流程
  • 訂單狀態機
  • 審核工作流

編排示例:

<chain name="orderProcess">
    <then value="checkStock,checkCredit"/> <!-- 并行執行 -->
    <when value="isVipUser"> 
        <then value="vipDiscount"/> 
    </when>
    <otherwise>
        <then value="normalDiscount"/>
    </otherwise>
    <then value="saveOrder"/>
</chain>

Java調用:

LiteflowResponse response = FlowExecutor.execute2Resp("orderProcess", order, User.class);
if (response.isSuccess()) {
    System.out.println("流程執行成功");
} else {
    System.out.println("失敗原因:" + response.getCause());
}

優點

  • 可視化流程編排
  • 支持異步、并行、條件分支
  • 熱更新規則

缺點

  • 新框架文檔較少
  • 社區生態待完善


適合:需要靈活編排的復雜業務流

2.五大規則引擎橫向評測

圖片圖片

性能壓測數據(單機1萬次執行):

引擎

耗時

內存占用

特點

Drools

420ms

功能全面

Easy Rules

38ms

輕量易用

QLExpress

65ms

阿里系腳本引擎

Aviator

28ms

極低

高性能表達式

LiteFlow

120ms

流程編排專家

3.如何技術選型?

圖片圖片

黃金法則:

  1. 簡單場景:EasyRules + Aviator 組合拳
  2. 金融風控:Drools 穩如老狗
  3. 電商運營:QLExpress 靈活應變
  4. 工作流驅動:LiteFlow 未來可期

4.避坑指南

  • Drools內存溢出
// 設置無狀態會話(避免內存積累)
KieSession session = kContainer.newStatelessKieSession();
  • QLExpress安全漏洞
// 禁用危險方法
runner.addFunctionOfServiceMethod("exit", System.class, "exit", null, null);
  • 規則沖突檢測
// Drools沖突處理策略
KieSessionConfiguration config = KieServices.Factory.get().newKieSessionConfiguration();
config.setProperty("drools.sequential", "true"); // 按順序執行

總結

  1. 能用:替換if/else(新手村)
  2. 用好:規則熱更新+可視化(進階)
  3. 用精:規則編排+性能優化(大師級)

曾有人問我:“規則引擎會不會讓程序員失業?” 我的回答是:“工具永遠淘汰不了思考者,只會淘汰手工作坊”

真正的高手,不是寫更多代碼,而是用更優雅的方式解決問題。

責任編輯:武曉燕 來源: 蘇三說技術
相關推薦

2023-08-09 08:01:38

場景Redis接口

2024-07-12 11:54:38

2025-04-14 08:10:00

負載均衡代碼java

2025-08-01 09:38:00

2022-01-07 18:53:51

元素服務端數據

2021-12-16 15:40:35

編程語言微軟語言

2021-12-30 10:36:12

編程語言RubyFlahs

2019-09-20 08:00:00

開發技能Web開發 人工智能

2017-12-17 21:05:41

編程語言DevOps

2025-05-16 10:03:09

2023-10-16 22:36:41

多線程應用程序

2022-06-12 20:53:09

TS typeofJavaScript

2019-10-17 09:07:49

TCPUDPHTTP

2025-09-09 09:20:48

2024-05-23 13:54:40

2018-11-02 14:20:44

區塊鏈數字貨幣比特幣

2018-09-29 05:12:54

廣域網網絡連接DDN

2019-09-11 09:21:54

Facebook法定貨幣比特幣

2016-03-12 21:35:37

2019-07-09 14:27:43

數據科學統計學數據集
點贊
收藏

51CTO技術棧公眾號

九七电影韩国女主播在线观看| 久久精品无码av| 国产精品亚洲一区二区在线观看| 一区二区三区加勒比av| 激情小说综合网| 日批视频免费观看| 夜间精品视频| 国产丝袜精品第一页| 欧美一级xxxx| 热色播在线视频| 亚洲人午夜精品天堂一二香蕉| 成人黄色片视频网站| 午夜久久久久久久久久影院| 五月精品视频| 精品伊人久久97| 无码人妻一区二区三区在线视频| www.youjizz.com在线| 中文字幕一区二区5566日韩| 国产日韩亚洲精品| 国产又大又长又粗| 蜜桃视频一区| 久久久久免费精品国产| 中日韩精品一区二区三区| 久久一级大片| 欧美美女一区二区在线观看| 国产免费毛卡片| 污污网站在线看| 国产精品色婷婷| 欧美日韩大片一区二区三区| 亚洲乱码在线观看| 精品午夜一区二区三区在线观看| 欧美性受xxx| 国产中文字字幕乱码无限| 色爱综合网欧美| 亚洲欧美中文在线视频| 又黄又爽的网站| 日韩三级不卡| 91精品国产综合久久精品 | 国产精品久久一区二区三区不卡| 国产高清在线精品| 91在线免费网站| 一级aaaa毛片| 久久精品国产在热久久| 国产精品999| 无码人妻丰满熟妇精品区| 99在线|亚洲一区二区| 久久久久久久久久久免费| 亚洲av鲁丝一区二区三区| 99精品美女| 日韩综合中文字幕| 中国美女黄色一级片| 国产一区二区三区站长工具| 亚洲男人天堂2023| 动漫精品一区二区三区| 清纯唯美亚洲经典中文字幕| 亚洲精品www久久久久久广东| 成年人看片网站| 成人性生交大片免费看中文视频| 日韩一区二区麻豆国产| 好吊操视频这里只有精品| 日韩视频一二区| 欧美成人高清电影在线| 国产人妻黑人一区二区三区| 乱亲女h秽乱长久久久| 亚洲精品国产品国语在线| 国产精品伦子伦| 免费av一区| 中文字幕日韩在线视频| 97精品在线播放| 亚洲国产精品日韩专区av有中文| 久久精品青青大伊人av| 久热这里有精品| 怡红院精品视频在线观看极品| 欧美黑人巨大精品一区二区| 国产黄色片免费看| 视频一区二区中文字幕| 国产男人精品视频| www.激情五月| 91污在线观看| 天天综合色天天综合色hd| 男女啪啪在线观看| 一区二区三区精品视频在线| 奇米精品一区二区三区| 日韩网站中文字幕| 制服丝袜av成人在线看| 91成人在线观看喷潮蘑菇| 日韩有码av| 色先锋资源久久综合5566| 久草视频免费播放| 三级久久三级久久| 亚洲自拍偷拍福利| 青青视频在线观| 自拍偷拍欧美激情| 各处沟厕大尺度偷拍女厕嘘嘘| 99久久精品一区二区成人| 日韩欧美一区二区久久婷婷| 懂色av粉嫩av蜜乳av| 成人黄色小视频| 欧美激情中文网| 久久久久亚洲视频| 成人丝袜视频网| 亚洲精品中文综合第一页| 黄色羞羞视频在线观看| 91精品福利在线| 少妇高潮一69aⅹ| 国产不卡一二三区| 久久久人成影片一区二区三区| www.久久久久久久| 成人做爰69片免费看网站| 亚洲三区四区| 中文字幕在线直播| 日韩欧美自拍偷拍| 成人午夜免费影院| 久久久天天操| 韩日午夜在线资源一区二区| caopeng在线| 精品视频免费在线| 玖玖爱在线观看| 激情六月综合| 亚洲va码欧洲m码| h视频在线免费| 日韩欧美有码在线| 艳妇乳肉亭妇荡乳av| 重囗味另类老妇506070| 国产精品久久久久久av下载红粉 | 一本色道久久88精品综合| 久久精品视频6| 国产剧情一区二区| 亚洲黄色成人久久久| 亚洲十八**毛片| 亚洲国内精品视频| 久久精品免费在线| 国产91丝袜在线播放0| 四虎免费在线观看视频| 九七电影院97理论片久久tvb| 亚洲精品国产精品自产a区红杏吧| 久久久.www| 国产成人精品综合在线观看 | 亚洲福利一区| 大波视频国产精品久久| 3d玉蒲团在线观看| 欧美一区二区在线看| 小向美奈子av| 狠狠网亚洲精品| 亚洲免费av网| 国语精品视频| 欧美日韩成人黄色| 欧美熟妇另类久久久久久不卡| 亚洲欧美日韩在线播放| 91看片破解版| 欧美黄色aaaa| www.成人三级视频| 不卡视频观看| 日韩精品免费综合视频在线播放| 日本熟妇一区二区| 99精品在线观看视频| 各处沟厕大尺度偷拍女厕嘘嘘| 欧美人妖视频| 国产精品免费福利| 免费在线看a| 日韩欧美国产一二三区| 久久午夜无码鲁丝片| jiyouzz国产精品久久| 国产资源在线视频| 国内成人精品| 成人疯狂猛交xxx| 欧洲成人综合网| 亚洲精品www久久久| 亚洲国产成人精品女人久久| 中文天堂在线一区| 男男受被啪到高潮自述| 日韩一级精品| 日韩一区二区三区高清| 韩国精品视频在线观看| 欧美日韩国产成人在线| 性xxxxbbbb| 欧美色综合网站| 麻豆亚洲av成人无码久久精品| 不卡的av在线| 亚洲免费999| 亚洲另类自拍| 一本色道久久综合亚洲精品婷婷 | 视频一区二区三区在线观看| 日韩一级视频| 久久人人看视频| 91视频在线观看| 日韩精品在线一区二区| 一级片在线观看免费| 亚洲日本欧美天堂| 国产精品无码一区二区三区| 国产真实乱子伦精品视频| 美女日批免费视频| 午夜精品一区二区三区国产| 韩国成人一区| 看亚洲a级一级毛片| 欧美性视频精品| 色噜噜狠狠狠综合欧洲色8| 亚洲欧美国产精品va在线观看| 91 中文字幕| 欧美午夜影院在线视频| 日韩欧美综合视频| 国产午夜精品理论片a级大结局| www,av在线| 三级在线观看一区二区| av在线com| 日韩一级毛片| 久久人人97超碰人人澡爱香蕉| 96sao精品免费视频观看| 欧洲日本亚洲国产区| 七七成人影院| 色婷婷综合成人| 你懂的在线播放| 日韩美女视频在线| 国产精品亚洲欧美在线播放| 色妹子一区二区| 亚洲一区 视频| 亚洲女与黑人做爰| 永久免费观看片现看| 国产日韩欧美精品在线| 欧美xxxx×黑人性爽| 国产精品一区在线观看乱码| 在线观看的毛片| 天堂精品中文字幕在线| 欧美国产亚洲一区| 99亚洲一区二区| 欧美成人三级在线视频| 欧美日韩网址| 裸体大乳女做爰69| 99tv成人| 亚洲国产综合自拍| 成人情趣视频网站| 视频一区三区| 成人羞羞视频播放网站| 欧美重口乱码一区二区| 婷婷综合电影| 久久久一本精品99久久精品66| 日韩大胆成人| 久久99精品久久久久久秒播放器 | 国产经典欧美精品| 国产成人在线综合| 久久电影网站中文字幕| 中文字幕成人在线视频| 日韩福利视频导航| 亚洲少妇久久久| 美女脱光内衣内裤视频久久网站| 欧美自拍小视频| 免费观看成人av| 狠狠躁狠狠躁视频专区| 免费的国产精品| 中文字幕第38页| 韩国视频一区二区| 久久发布国产伦子伦精品| 国产成人在线观看免费网站| 伊人av在线播放| 99久久精品国产毛片| 国产老熟女伦老熟妇露脸| 99国内精品久久| 国产三级av在线播放| 国产色产综合产在线视频| 青青草自拍偷拍| 亚洲另类在线制服丝袜| 国产在线观看你懂的| 精品国产乱码久久久久久虫虫漫画 | 亚洲自拍偷拍av| 日本中文字幕网| 色综合色狠狠天天综合色| 日韩xxx视频| 51久久夜色精品国产麻豆| 国产丰满果冻videossex| 欧美成人bangbros| 美州a亚洲一视本频v色道| 自拍亚洲一区欧美另类| 成人日批视频| 欧美亚洲国产视频| 青青热久免费精品视频在线18| 成人h片在线播放免费网站| 第四色在线一区二区| 欧美一区二区三区在线免费观看| 日韩精品午夜| 免费超爽大片黄| 日韩激情中文字幕| 先锋资源在线视频| 久久久噜噜噜久噜久久综合| 2019男人天堂| 亚洲一区二区欧美激情| 国产又粗又猛又爽又| 欧美一区二区在线看| 日本一级在线观看| 久久亚洲国产精品| 亚洲欧美小说色综合小说一区| 国产乱肥老妇国产一区二 | 成人免费观看在线观看| 国产精品video| 风间由美性色一区二区三区四区| 欧美日韩成人一区二区三区| 欧美日韩1080p| 一道本视频在线观看| 成人在线视频一区二区| 91成人在线免费视频| 亚洲午夜影视影院在线观看| 亚洲怡红院av| 亚洲另类xxxx| 日本色护士高潮视频在线观看| 国产精品高潮视频| 国产精品网在线观看| 国产日本欧美在线| 久久综合中文| 国产一卡二卡三卡四卡| 亚洲欧美日本韩国| 中文字幕日本视频| 亚洲精品ady| 宅男网站在线免费观看| 国产精品久久综合av爱欲tv| 秋霞综合在线视频| 久久福利一区二区| 久久精品99国产国产精| av黄色在线免费观看| 午夜日韩在线观看| 亚洲av无码乱码国产精品| 中文字幕成人精品久久不卡| 成人影院大全| 国产中文一区二区| 狠狠色狠狠色综合日日tαg| 一级黄色在线播放| 中文字幕中文字幕中文字幕亚洲无线 | 黄色在线播放| 性亚洲最疯狂xxxx高清| 日本一区影院| 2021国产视频| 国产酒店精品激情| 亚洲国产成人精品综合99| 欧美日韩国产综合一区二区 | 亚洲欧洲在线观看av| 奴色虐av一区二区三区| 国产偷亚洲偷欧美偷精品| √8天堂资源地址中文在线| 999在线免费观看视频| 永久亚洲成a人片777777| 亚洲a级黄色片| 亚洲视频免费观看| 国产伦理一区二区| 麻豆一区二区在线观看| 91精品国产一区二区在线观看| 一级日韩一区在线观看| 久久成人av少妇免费| 中文字幕观看av| 欧美一卡二卡三卡四卡| 中文字幕伦理免费在线视频| 亚洲综合在线小说| 欧美在线精品一区| 中文字幕人妻一区| 午夜精品一区二区三区三上悠亚| 手机看片国产1024| 欧美在线视频a| 精品久久成人| www.超碰97.com| 一区二区不卡在线视频 午夜欧美不卡在| 97人妻精品一区二区三区软件| 久久在线免费观看视频| 午夜日韩影院| 欧美成人免费在线观看视频| xnxx国产精品| 亚洲视频在线观看一区二区| 日韩中文字在线| 亚洲国产高清在线观看| 国产欧美精品aaaaaa片| 2023国产精品自拍| 中文字字幕在线观看| 久久精品影视伊人网| 国产精品115| 美女喷白浆视频| 亚洲精品视频自拍| 亚洲av电影一区| 国产精品日本精品| 国产精品99一区二区| 可以直接看的无码av| 欧美三级韩国三级日本一级| 成人video亚洲精品| 精品久久久久久一区| 青草av.久久免费一区| 亚洲国产精品免费在线观看| 亚洲国产成人久久综合| 日韩中文在线播放| 激情五月六月婷婷| 国产亚洲欧美日韩在线一区| 国产精品免费无遮挡| 97视频在线观看亚洲| 久久国产成人精品| 日韩精品人妻中文字幕有码| 91久久香蕉国产日韩欧美9色| 超碰最新在线| 欧美一区二区三区在线免费观看| 国产精品一卡二| 6080午夜伦理| 色综合五月天导航| 成人黄色小视频| 久久午夜夜伦鲁鲁片| 3d动漫精品啪啪1区2区免费| 东京一区二区| 国产1区2区3区中文字幕|