Skip to main content
Version: 2.4.2

Cluster Deployment

This aritcle introduces how to delopy the Shenyu gateway in cluster enviroment.

In this part, you can see ShenYu Binary Packages Deployment before deploying.

Enviromental Preparation#

  • Two or more Gateway Boostrap servers, these servers must install JDK1.8+.
  • A server for Gateway Admin, this server must install mysql/pgsql/h2 and JDK1.8+.
  • A server for nginx.

Start Apache ShenYu Admin#

  • download and unzip apache-shenyu-incubating-2.4.2-admin-bin.tar.gz in your Gateway Admin server.

  • config your database, go to the /conf directory, and modify spring.profiles.active of the configuration in application.yaml to mysql, pg or h2.

  • config your way of synchronization, go to the /conf directory, and modify shenyu.sync of configuration in application.yaml to websocket, http, zookeeper, etcd, consul or nacos.

  • start Apache ShenYu Admin in bin directory.

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

Start Apache ShenYu Boostrap#

  • download and unzip apache-shenyu-incubating-2.4.2-bootstrap-bin.tar.gz in your Gateway Boostrap server.

  • config your synchronization, go to the /conf directory, and modify shenyu.sync of configuration in application.yaml to websocket, http, zookeeper, etcd, consul or nacos, this configuaration must remain the same of ShenyYu Admin.

  • repeat above-mentioned operations in each ShenYu Bootstrap server.

  • start Apache ShenYu Bootstrap in bin directory.

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

After completing these operations, you will deploy ShenYu Boostrap Cluster.

For example. you will deploy ShenYu Bootstrap in 10.1.1.1 and 10.1.1.2 and deploy nginx in 10.1.1.3.

Start Nginx#

  • download and install nginx.

  • modify upstream and server of configuration in nginx.conf.

upstream shenyu_gateway_cluster {  ip_hash;  server 10.1.1.1:9195 max_fails=3 fail_timeout=10s weight=50;  server 10.1.1.2:9195 max_fails=3 fail_timeout=10s weight=50;}
server {  location / {        proxy_pass http://shenyu_gateway_cluster;        proxy_set_header HOST $host;        proxy_read_timeout 10s;        proxy_connect_timeout 10s;  }}
  • start nginx.
> windows: ./nginx.exe
> linux: /usr/local/nginx/sbin/nginx 
  • verify nginx, looking at your ShenYu Bootstrap log or Nginx log, Where will the verification request go.