krakend 是一个强大的,区别与传统的 proxy,支持强大转换,聚合,以及移除数据,krakend 同时实现了 bff
(backend for frontend ) 以及micro-frontends 模式,可以进行多rest api 的集合,以及进行隔离微服务client实现的
细节
一张参考图
一个典型的使用
以下是进行数据聚合处理的例子
说明
有一个比较强大的东西是krakend 集成了google 的cel 一个强大的表达式引擎,同时提供了一个强大的框架进行开发(基于golang)
目前包含了企业版以及社区版,同时也支持基于lua以及martian,同时支持集群,很强大,同时官方也提供了基于docker-compose
的测试环境搭建
参考资料
https://www.krakend.io/
https://github.com/devopsfaith/krakend
https://github.com/google/cel-go
https://github.com/devopsfaith/krakend-martian
https://github.com/google/martian
https://github.com/devopsfaith/krakend-playground