zoukankan      html  css  js  c++  java
  • skipper lua 脚本支持

    skipper 对于lua 脚本的支持是通过gopher-lua,支持基本上大部分的lua特性
    说明:项目使用docker-compose 运行

    环境准备

    • docker-compose 文件
    version: "3"
    services:
      skipper:
        image: dalongrong/skipper:latest
        ports:
        - "9090:9090"
        - "9911:9911"
        volumes:
        - "./router.eskip:/router.eskip"
        - "./app.lua:/app.lua"
        command: skipper -enable-ratelimits -enable-prometheus-metrics -routes-file router.eskip
      g:
        image: grafana/grafana
        ports:
        - "3000:3000"
      web:
        image: nginx
        ports:
        - "8099:80"
      p:
        image: prom/prometheus
        volumes:
        - "./prometheus.yml:/etc/prometheus/prometheus.yml"
        ports:
        - "9091:9090"
    • router 配置
    hello: Path("/report/**") ->compress("text/html")-> corsOrigin()->setResponseHeader("TOKEN","dalongdemo")->responseCookie("test-session", "abc", 31536000)->
    setRequestHeader("TOKEN","dalongdemo")-> "http://10.10.17.21:9000/report";
    app: Path("/**") -> lua("/app.lua", "myparam=foo", "other=bar") -> "http://10.15.0.80"
    • lua 脚本
      在response 阶段,添加header
    function request(ctx, params)
        -- ctx.serve({
        -- status_code=302,
        -- header={
        -- location="http://www.baidu.com/",
        -- },
        -- })
        ctx.request.header["user_token"]="request_token"
    end
    
    function response(ctx, params)
        ctx.response.header["lua_token"]="dalongdemo";
    end

    运行&&测试

    • 启动
    docker-compose up -d
    • 测试

    说明

    目前已经内置了一些可用的模块 http json url base64,同时对于lua 标准模块也支持,模块查找规则
    比如 require("mod")

    /mod.lua, /usr/local/share/lua/5.1/mod.lua and /usr/local/share/lua/5.1/mod/init.lua)

    参考资料

    https://opensource.zalando.com/skipper/reference/scripts/
    https://github.com/rongfengliang/skipper-prometheus-docker-compose

  • 相关阅读:
    Appium环境配置
    MongoDB_09——执行计划
    mongoDB_08索引的操作
    MongoDB常用命令
    MongoDB_07_复杂查询
    MongoDB_06_分页查询
    docker-ce 安装
    Kubernetes集群搭建 ver1.20.5
    Deploying Portainer CE in Docker
    mysql常用命令
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/10066459.html
Copyright © 2011-2022 走看看