CEL 表达式语言:为什么出现,和同类语言比怎么样,该怎么用
Kubernetes 的 CRD 里有一行 self.minReplicas <= self.replicas,Google Cloud 的 IAM 条件、Envoy 的 RBAC 里也是同一种写法。它叫 CEL。我们从一个普通需求出发:让用户在平台里自己写放行规则。嵌入脚本语言会碰到能调用什么、会不会停、写错了何时知道、每次多慢四个问题;CEL 用非图灵完备、类型检查和成本估算回答它们。再把 CEL 和 expr、Rego、Cedar、JsonLogic、Starlark、Lua、SpEL 等 22 个同类实现放进同一组场景实测,最后整理出在 Go 里用好 CEL 的做法。