krakend 试用

基于社区版本运行,可以自己构建

构建

或者使用使用官方的二进制文件

git clone https://github.com/devopsfaith/krakend-ce.git
make build

试用

  • 配置
    主要测试一个插件的使用以及数据编码&&数据过滤,同时包含了cache
 
{
    "version": 2,
    "name": "My lovely gateway",
    "port": 8080,
    "timeout": "5s",
    "endpoints": [
        {
            "endpoint": "/myrss/{user}",
            "backend": [
                {
                    "group": "mydemo",
                    "url_pattern": "/users/{user}",
                    "host": [
                        "https://jsonplaceholder.typicode.com"
                    ]
                },
                {
                    "host": [
                        "http://feed.cnblogs.com"
                    ],
                    "url_pattern": "/blog/u/161986/rss/",
                    "encoding": "rss",
                    "group": "dalongrong",
                    "whitelist": [
                        "items",
                        "title"
                    ],
                    "extra_config": {
                        "github.com/devopsfaith/krakend-ratelimit/juju/proxy": {
                            "maxRate": 1,
                            "capacity": 1
                        },
                        "github.com/devopsfaith/krakend-circuitbreaker/gobreaker": {
                            "interval": 60,
                            "timeout": 10,
                            "maxErrors": 1
                        }
                    }
                }
            ]
        },
        {
            "endpoint": "/demoapp",
            "backend": [
                {
                    "url_pattern": "/users",
                    "is_collection": true,
                    "host": [
                        "https://jsonplaceholder.typicode.com"
                    ],
                    "extra_config": {
                        "github.com/devopsfaith/krakend-httpcache": {}
                    },
                    "mapping": {
                        "collection": "myusers"
                    }
                }
            ]
        },
        {
            "endpoint": "/myrss",
            "backend": [
                {
                    "host": [
                        "http://feed.cnblogs.com"
                    ],
                    "url_pattern": "/blog/u/161986/rss/",
                    "encoding": "rss",
                    "group": "dalongrong",
                    "whitelist": [
                        "items",
                        "title"
                    ],
                    "extra_config": {
                        "github.com/devopsfaith/krakend-ratelimit/juju/proxy": {
                            "maxRate": 1,
                            "capacity": 1
                        },
                        "github.com/devopsfaith/krakend-circuitbreaker/gobreaker": {
                            "interval": 60,
                            "timeout": 10,
                            "maxErrors": 1
                        }
                    }
                }
            ]
        }
    ]
}
  • 说明
    /myrss/1 是一个api 聚合的测试,聚合了博客园rss 数据以及一个公用rest api 数据,/demoapp 主要是集成了cache 插件,同时处理的是集合

说明

以上的测试比较简单,没有多少复杂的东西,我们可以集合自己的场景学习下,但是krakend对于api 中的问题,也不是100%都能解决的,只是
krakend解决api 的方式很不错

参考资料

https://www.krakend.io/docs/backends/caching/
https://www.krakend.io/docs/backends/overview/

posted on   荣锋亮  阅读(458)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2018-12-28 Gravitational Teleport docker-compose简单运行
2018-12-28 Gravitational Teleport简单使用
2018-12-28 Gravitational Teleport 开源的通过ssh && kubernetes api 管理linux 服务器集群的网关
2013-12-28 使用js 文件参数 以及IHttpModule实现服务验证asp.net 版的初步实现
2013-12-28 获取js 文件传递的参数并使用json2进行json数据转换

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示