PR is welcome!
BTW, does it require nginx-upsync-module?

聂永 <[email protected]> 于2021年2月7日周日 下午5:22写道:

> Hi,
>
> I had shared a topic 《基于APISIX的定制开发》 in Apisix DevCon 2020, which
> referred to our consul key&value service discovery module a little. And we
> want to submit it as a PR for APISIX now.
>
> For users who used nginx-upsync-module
> <https://github.com/weibocom/nginx-upsync-module> and consul key value
> for service discovery way, maybe need it.
>
> This module called consul_kv, and its worker process data flow is below:
>
> How to use it
>
>    1. enable the consul_kv module in yaml
>
> discovery:
>   consul_kv:
>     servers:
>       - "http://127.0.0.1:8500";
>       - "http://127.0.0.1:8600";
>     prefix: "upstreams"
>     skip_keys:
>       - "upstreams/unused_api/"
>     timeout:
>       connect: 1000
>       read: 1000
>       wait: 60
>     weight: 1
>     delay: 5
>     connect_type: "long"
>     default_server:
>       host: "127.0.0.1"
>       port: 20999
>       metadata:
>         fail_timeout: 1
>         weight: 1
>         max_fails: 1
>
> 2. register your api service into consul by key&value
>
>     curl \
>         -X PUT \
>         -d ' {"weight": 120, "max_fails": 2, "fail_timeout": 1}' \
>         http://127.0.0.1:8500/v1/kv/upstreams/webpages/172.19.5.12:8000
>
>     curl \
>         -X PUT \
>         -d ' {"weight": 120, "max_fails": 2, "fail_timeout": 1}' \
>         http://127.0.0.1:8500/v1/kv/upstreams/webpages/172.19.5.13:8000
>
> 3. setup your route
>
> --- apisix_yamlroutes:
>   -
>     uri: /*
>     upstream:
>       service_name: http://127.0.0.1:8500/v1/kv/upstreams/webpages/
>       discovery_type: consul_kv
>       type: roundrobin
>
> If it ok, I prepare to submit the codes, tests and docs later :))
>

Reply via email to