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#
download apache-shenyu-${current.version}-bootstrap-bin.tar.gz
unzip
apache-shenyu-${current.version}-bootstrap-bin.tar.gz。 go to thebindirectory.
> 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 is
http://127.0.0.1:8080/helloworldand the response like follow:
{ "name" : "Shenyu", "data" : "hello world"}- use the follow data to add selector and rule
by postman#
Add
localKey: 123456to Headers. If you need to customize the localKey, you can use the sha512 tool to generate the key based on plaintext and update theshenyu.local.sha512Keyproperty.
POSTmethod,addresshttp://localhost:9195/shenyu/plugin/selectorAndRules, body useraw jsoncontent:
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"}