sidebar_position: 7 title: 集群部署 keywords: [“网关集群”, “集群部署”] description: 集群部署

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

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

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

环境准备

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

启动 Apache ShenYu Admin

  • 在你的网关管理端服务器下载并解压apache-shenyu-${current.version}-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-${current.version}-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 {
  listen 9195;
  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的日志文件中查看请求被分发到那台服务器上。