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