指标

  • 简略模仿一下 soul 网关的集群部署(采纳 webscoket 同步形式)

IDEA启动多个我的项目

  • 批改我的项目application.yml中的端口配置server.port=''
  • 批改 idea 启动配置,勾选Allow parallel run,容许并行启动

用以上形式批改soul-admin端口配置,启动两个soul-admin

soul-bootstrapapplication.yml配置方才启动的soul-admin的 url

soul:    sync:        websocket :             urls: ws://localhost:9095/websocket,ws://localhost:9096/websocket

别离启动两个soul-bootstrapsoul-examples-http

测试启动的两个soul网关,均拜访胜利

至此,soul 网关启动完结。

Nginx 装置部署

本地环境是Windows,解压即可

批改装置目录下 conf 目录下的配置文件 nginx.conf,简略配置一下,批改两处:

  1. 新增集群配置
  2. 新增代理门路
#user  nobody;worker_processes  1;#error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '    #                  '$status $body_bytes_sent "$http_referer" '    #                  '"$http_user_agent" "$http_x_forwarded_for"';    #access_log  logs/access.log  main;    sendfile        on;    #tcp_nopush     on;    #keepalive_timeout  0;    keepalive_timeout  65;    #gzip  on;    #---------------1.新增集群配置-------------------------------    upstream soul {     # 能够通过批改weight=10的值来设置权重      server  127.0.0.1:9195 weight=10;      server  127.0.0.1:9196 weight=10;    }    server {        listen       80; #Nginx的监听端口,默认为80        server_name  localhost; #Nginx的监听的主机名        #charset koi8-r;        #access_log  logs/host.access.log  main;        location / {            #---------------2.新增代理门路-------------------------------            #代理门路和集群名称(upstream soul{})须要保持一致            proxy_pass http://soul;            proxy_redirect default;        }        #error_page  404              /404.html;        # redirect server error pages to the static page /50x.html        #        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }        省略...    }}

Nginx装置的目录下,启动Nginx

1、启动:start nginx或nginx.exe注:倡议应用第一种,第二种会使你的cmd窗口始终处于执行中,不能进行其余命令操作。2、进行:nginx.exe -s stop或nginx.exe -s quit注:stop是疾速进行nginx,可能并不保留相干信息;quit是残缺有序的进行nginx,并保留相干信息。3、从新载入Nginx:nginx.exe -s reload当配置信息批改,须要从新载入这些配置时应用此命令。

拜访Nginx:

至此,Nginx 配置玩成。

测试负载平衡

soul-admin批改divide插件的selector,负载平衡拜访配置为随机拜访:

拜访五次:http://localhost/http/order/f...

后盾输入:

9195:拜访三次,9196:拜访两次,网关的随机拜访是通过Nginx负载平衡实现的。

8188:拜访两次,8189:拜访三次,soul-examples-http的随机拜访是通过咱们方才在soul-admin批改divide插件的selector实现的。

接下来测试一下把网关的所有申请都散发到 8199 端口

再拜访五次:http://localhost/http/order/f...

网关的随机拜访没有扭转,还是通过Nginx负载平衡拜访的。然而,通过网关拜访soul-examples-http的申请全副散发到了 8199 端口,阐明咱们在soul-admin批改的数据曾经同步到了缓存。

至此,模仿 soul 网关的集群部署实现。