Skip to main content
Version: Next

Local Quick Deployment

This article introduces how to quickly start the Apache ShenYu gateway in the standalone environment.

Before you read this document, you need to complete some preparations before deploying Shenyu according to the Deployment Prerequisites document.

Environmental preparation#

  • Install JDK1.8+ locally

Start Apache ShenYu Bootstrap#

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

Selector and rule configuration#

please refer to Developer Local Model add the selector and rule.

example:

  • your service address ishttp://127.0.0.1:8080/helloworld and the response like follow:
{  "name" : "Shenyu",  "data" : "hello world"}
  • use the follow data to add selector and rule

by postman#

Add localKey: 123456 to Headers. If you need to customize the localKey, you can use the sha512 tool to generate the key based on plaintext and update the shenyu.local.sha512Key property.

POST method,addresshttp://localhost:9195/shenyu/plugin/selectorAndRules, body use raw json content:

Headers
localKey: 123456
{    "pluginName": "divide",    "selectorHandler": "[{\"upstreamUrl\":\"127.0.0.1:8080\"}]",    "conditionDataList": [{        "paramType": "uri",        "operator": "match",        "paramValue": "/**"    }],    "ruleDataList": [{        "ruleHandler": "{\"loadBalance\":\"random\"}",        "conditionDataList": [{            "paramType": "uri",            "operator": "match",            "paramValue": "/**"        }]    }]}

by curl#

curl --location --request POST 'http://localhost:9195/shenyu/plugin/selectorAndRules' \--header 'Content-Type: application/json' \--header 'localKey: 123456' \--data-raw '{    "pluginName": "divide",    "selectorHandler": "[{\"upstreamUrl\":\"127.0.0.1:8080\"}]",    "conditionDataList": [{        "paramType": "uri",        "operator": "match",        "paramValue": "/**"    }],    "ruleDataList": [{        "ruleHandler": "{\"loadBalance\":\"random\"}",        "conditionDataList": [{            "paramType": "uri",            "operator": "match",            "paramValue": "/**"        }]    }]}'
  • open http://localhost:9195/helloworld:
{  "name" : "Shenyu",  "data" : "hello world"}