摘要:
表达式引擎技术及比较
Drools 简介
Drools(JBoss Rules )是一个开源业务规则引擎,符合业内标准,速度快、效率高。业务分析师或审核人员可以利用它轻松查看业务规则,从而检验是否已编码的规则执行了所需的业务规则。
除了应用了 Rete 核心算法,开源软件 License 和 100% 的Java实现之外,Drools还提供了很多有用的特性。其中包括实现了JSR94 API和创新的规则语义系统,这个语义系统可用来编写描述规则的语言。目前,Drools提供了三种语义模块
● Python模块
● Java模块
● Groovy模块
Drools的规则是写在drl文件中。 对于前面的表达式,在Drools的drl文件描 阅读全文
摘要:
从提升性能角度来说
提升了对CPU的使用效率:目前生产的服务器大多数都是多核,标配的机器都是 8C/16G。操作系统会将不同的线程分配给不同的核心处理,理论上,有多少核心就有多少个线程并行执行。如果没有并发编程,CPU的利用率将极大的浪费,假设当前正在处理耗时的 I/O 操作,那么整个CPU就会处于阻塞空闲状态,后面的指令必须等待前面的执行完才能继续执行。
降低服务 RT:大型互联网访问量轻松每秒轻松过万,如果没有并发处理,所有的用户请求都会排队等待,那种体验效果你能想象么,这样的服务能力如何能留住客户?有了并发编程,充分释放CPU算力,操作系统让每个客户轮流使用CPU计算,每个客户都能得到快速的响应。
容错率高:线程与线程之间的执行不会相互干扰,某个线程执行出现异常退出,不会对其它线程造成影响。 阅读全文
摘要:
我将介绍如下几种常用的适合 Groovy 脚本热更新的场景,供您学习
风控安全——规则引擎
风控的规则引擎非常适合用 groovy 来实现,对抗黑产,策略人员每天都都会产出拦截规则,如果每次都需要发版,可能发完观测完后,该薅的羊毛都被黑产薅没了。
所以利用 groovy 脚本引擎的动态解析执行,使用规则脚本将查拦截规则抽象出来,快速部署,提升效率。
监控中心
大型互联网系统,伴随着海量数据进入,各个层级的人员需要时时刻刻关注业务的各个维度指标,此时某个指标异常光靠人肉是没办法实现的。此时需要监控中心介入,提前部署好异动规则,当异常发生时,监控中心发出告警通知到对应的规则创建人员,从而尽快查明原因,挽回资损。 阅读全文
摘要:
日志的重要性不言而喻,是我们排查问题,解决 BUG 的重要手段之一,但是在高并发环境下,又会存在悖论:
大量打印日志,消耗 I/O,导致 CPU 占用率高;减少日志,性能是下来了,但是排查问题的链路断掉了。
痛点:一方面需要借助日志可快速排查问题,另一方面要兼顾性能,二者能否得兼?
那么本文的动态日志调整实现就是为了能解决这个痛点所构思开发的。 阅读全文
摘要:
日志对程序的重要性不言而喻,轻巧、简单、无需费脑,程序代码中随处可见,帮助我们排查定位一个有一个问题问题。但看似不起眼的日志,却隐藏着各式各样的“坑”,如果使用不当,不仅不能帮助我们,反而会成为服务“杀手”。
本文主要介绍生产环境日志使用不当导致的“坑”及避坑指北,高并发系统下尤为明显。同时提供一套实现方案能让程序与日志“和谐共处”。 阅读全文
摘要:
本文主要介绍火焰图及使用技巧,学习如何使用火焰图快速定位软件的性能卡点。
结合最佳实践实战案例,帮助读者更加深刻地理解火焰图构造及原理,理解 CPU 耗时,定位性能瓶颈。 阅读全文