单机快速部署

本文介绍单机环境快速启动 Apache ShenYu 网关。

在阅读本文档前,你需要先阅读部署先决条件文档来完成部署 shenyu 前的环境准备工作。

环境准备

  • 本地正确安装JDK1.8+

启动 Apache ShenYu Bootstrap

  1. > windwos : start.bat
  2. > linux : ./start.sh

选择器及规则配置

参考本地模式进行选择器及规则的配置。

示例:

  • 如服务地址是http://127.0.0.1:8080/helloworld,直接访问将返回如下
  1. {
  2. "name" : "Shenyu",
  3. "data" : "hello world"
  4. }
  • 按照如下进行选择器和规则配置

使用postman

Headers 中添加 localKey: 123456。如果需要自定义 localKey,可以使用 sha512 工具根据明文生成 key,并更新 shenyu.local.sha512Key 属性。

请求方式POST,地址http://localhost:9195/shenyu/plugin/selectorAndRules,body 选择raw json,内容如下:

  1. Headers
  2. localKey: 123456
  1. {
  2. "pluginName": "divide",
  3. "selectorHandler": "[{\"upstreamUrl\":\"127.0.0.1:8080\"}]",
  4. "conditionDataList": [{
  5. "paramType": "uri",
  6. "operator": "match",
  7. "paramValue": "/**"
  8. }],
  9. "ruleDataList": [{
  10. "ruleHandler": "{\"loadBalance\":\"random\"}",
  11. "conditionDataList": [{
  12. "paramType": "uri",
  13. "operator": "match",
  14. "paramValue": "/**"
  15. }]
  16. }]
  17. }

使用curl

  1. curl --location --request POST 'http://localhost:9195/shenyu/plugin/selectorAndRules' \
  2. --header 'Content-Type: application/json' \
  3. --header 'localKey: 123456' \
  4. --data-raw '{
  5. "pluginName": "divide",
  6. "selectorHandler": "[{\"upstreamUrl\":\"127.0.0.1:8080\"}]",
  7. "conditionDataList": [{
  8. "paramType": "uri",
  9. "operator": "match",
  10. "paramValue": "/**"
  11. }],
  12. "ruleDataList": [{
  13. "ruleHandler": "{\"loadBalance\":\"random\"}",
  14. "conditionDataList": [{
  15. "paramType": "uri",
  16. "operator": "match",
  17. "paramValue": "/**"
  18. }]
  19. }]
  20. }'
  • 通过http://localhost:9195/helloworld请求服务,返回如下:
  1. {
  2. "name" : "Shenyu",
  3. "data" : "hello world"
  4. }