Skip to main content
Version: 2.4.0

集群部署

文本是介绍在集群环境中快速部署ShenYu网关。

在阅读本文档时,你可以先阅读二进制包部署

环境准备#

  • 至少准备两台已经安装了JDK1.8+的服务器用于部署网关启动器。
  • 准备一台已经安装了mysql、pgsql、h2和JDK1.8+的服务器用于部署网关管理端。
  • 准备一台服务器用于部署Nginx。

启动 Apache ShenYu Admin#

  • 在你的网关管理端服务器下载并解压 apache-shenyu-incubating-2.4.0-admin-bin.tar.gz

  • 配置你的数据库,进入/conf目录,在application.yaml文件中修改spring.profiles.active节点为mysql, pg or h2

  • 配置你的数据同步方式,进入/conf目录,在application.yaml文件中修改shenyu.sync节点为websocket, http, zookeeper, etcd, consul 或者 nacos

  • 进入bin目录,启动ShenYu Bootstrap。

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

启动 Apache ShenYu Boostrap#

  • 在你的网关启动器服务器下载并解压 apache-shenyu-incubating-2.4.0-bootstrap-bin.tar.gz

  • 配置你的数据同步方式,进入/conf目录,在application.yaml文件中修改shenyu.sync节点为websocket, http, zookeeper, etcd, consul 或者 nacos,这个配置必须与ShenyYu Admin的配置保持相同。

  • 进入bin目录,启动ShenYu Admin。

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

在完成这些操作后,你将成功部署ShenYu Boostrap集群。

假如你10.1.1.110.1.1.2两台服务器在将部署ShenYu Bootstrap,并且在10.1.1.3部署nginx。

启动 Nginx#

  • 下载并安装nginx。

  • nginx.conf文件中修改upstreamserver节点的配置。

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;  }}
  • 启动 nginx.
> windows: ./nginx.exe
> linux: /usr/local/nginx/sbin/nginx 
  • 验证nginx配置是否生效,在ShenYu Bootstrap或者Nginx的日志文件中查看请求被分发到那台服务器上。