apisix插件grpc-transcode使用

1、grpc-transcode说明

APISIX网关比较强大,可以直接把GRPC的接口转成http接口进行调用,下面介绍这个apisix网关转换grpc调用的说明

具体的说明参数,可以参照官方文档

https://apisix.apache.org/zh/docs/apisix/plugins/grpc-transcode/

2、具体使用

2.1、上传proto文件

proto文件,内容必须包含pakage,内容如下。下面这个proto,在postman中是可以正常调用grpc接口,但是在apisix中,不会识别java_package,需要增加package的内容。

package com.xff.grpcapi;

curl http://localhost:9180/apisix/admin/protos -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '

{

    "content" : "具体的proto文件内容",

"id" : "定义一个唯一id",

"desc":""

}'

2.2、生成路由,配置grpc-transcode插件

grpc-transcode参数说明:

proto_id就是上面步骤1的id

service 就是上面的package包名+serviceName(不是具体的实现类的包路径,当时配置的时候被这个卡了很久)

 路由接口:

http://10.32.122.101:9180/apisix/admin/routes

路由需要有请求头:X-API-KEY,  一般部署完就有一个具体的值

路由信息如下:

{

  "uri": "/grpc/test",

  "name": "grpc测试1212",

  "desc": "grpc测试1212",

  "plugins": {

    "grpc-transcode": {

      "deadline": 0,

      "method": "queryWithPage",

      "pb_option": [

        "enum_as_name",

        "int64_as_number",

        "auto_default_values",

        "disable_hooks"

      ],

      "proto_id": "grpc_1212",

      "service": "com.xff.grpcapi.Testdata",

      "show_status_in_body": false

    }

  },

  "upstream": {

    "nodes": [

      {

        "host": "10.255.158.74",

        "port": 8891,

        "weight": 1

      }

    ],

    "type": "roundrobin",

    "hash_on": "vars",

    "scheme": "grpc",

    "pass_host": "pass"

  },

  "status": 1

}

2.3、测试调用

http://10.32.122.101:9080/grpc/test

可以调用成功

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖兔兔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值