Go轻量级表达式执行引擎

写在前面 需求:工作中有个业务需要用到千人千面的规则判定,即对于用户,会经常对不同的群体执行不同的逻辑,业务中就把这块逻辑抽出来用表达式执行来执行,只需要圈定用户远程配置中配置表达式即可, 也随时可以在远程配置中修改表达式 属于造轮子吗?是也不是, 写之前搜索了已有的使用人数较多的几个go表达式执行引擎, 功能都基本较为完善, 但是和我们的使用场景配合起来需要强行拓展, 代码拓展后速度上也 ...

Go robfig/cron/v3 简析

  robfig cron是go开发者最常用的基于cron解析的定时任务管理器   cron介绍 一、基本介绍: 1. 从Cron结构体查看整体设计: ...

Go官方限流器time/rate分析

  这里只讨论常见的限流算法   大致上可以分为两类算法:计数器算法、生产者消费者算法 计数器算法: 固定窗口算法:即将整个时间线按固定大小分割成段,每段只允许指定请求数量通过,其是最简单的算法,实现起来也很简单。缺点如下 流量分布不均匀,比如一段为1s,在前0.5秒可能已经用完了所有的请求指标,后0.5秒不允许任何请求 ...

Go编译器源代码:语法分析

  本文快速阅读需要一点编译原理知识、Go的使用经验   水平有限、错误请联系更改   上一篇词法分析源码阅读文章 一、语法分析   语法分析知识很多、这里更像是列出一个列表、供大家去按列表查资料学习 ...

Go编译器源代码:词法分析

  本文快速阅读需要有一点编译原理知识,还需要对Go有一定了解,读懂一般的Go代码   水平有限,遇到错误请联系更改 一、词法分析   只是概括一下词法分析相关知识   首先、编译就是把机器看不懂的对人类友好源代码翻译成机器可以理解的指令   源码阅读过程中,遇到错误处理等代码可以选择性 ...