[{"id":"840f0737-df1d-47ae-bb0a-359b01fe0608","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"d5d9cdef-8854-4505-89be-a2bbc3cb4482","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"3dc3dd55-35b0-4d23-bf62-47bc3650e4ee","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"80d84fbc-d0f8-4e4a-947f-e3e4de9b49b2","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"9152b7ca-0186-4fe3-a26f-5a05f322db07","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]}]
部署多个 Server 可以提高系统的负载均衡能力,本文为您介绍如何部署多个 Server。
注意
如需单独部署其他服务,请先单独部署其他服务,再部署 Server。
如需部署多 Server,请确保各 Server 的安装路径一致。
请联系销售人员获取分布式专用许可证。
请在一台可访问的计算机上安装 Redis,用于记录一些内部状态并作为分布式缓存。
type=info
修改Redis 配置文件(一般为xx.conf),将Redis 绑定 IP 修改为具体本地IP而不是localhost或者127.0.0.1。
推荐 Redis 5.0 或更新版本。
请在一台可访问的计算机上安装 Nginx,用于多 Server 部署完成之后的负载均衡。
1. 部署子节点。
在目标机器上部署节点,比如将其命名为”Server2“节点,具体请参考添加节点。
注意
Server 需访问数据库,因此请注意确保安装 Server 的子节点都能访问系统配置的数据库服务。比如,需确保数据库开启了远程连接且端口开放。
2. 在主节点开启多 Server。
修改主节点上的 Wyn.conf(windows环境下默认路径为C:\Program Files\Wyn\Monitor\conf,Linux环境下默认路径为/opt/Wyn/Monitor/conf/ ),开启多 Server 部署。
具体为在配置文件的 Server 节点中添加如下内容,其中 Cache -> DistributedMemoryCache -> ConfigString
是 Redis 的连接字符串。
(示例中是一个多节点的Redis配置。关于对连接串字段要求,详见本页下方介绍)
注意
为了安全起见,也可以使用加密工具对连接字串进行加密,然后再粘贴到配置文件中。加密方法请见如何解密/加密配置文件中数据库连接字串。
配置文件中如下节点的连接串中需使用IP而不是localhost或者127.0.0.1:
Services->Server->DataExtraction->ConnectionString,
Services->Server->Storage->ConnectionString
Services->Server->IdentityServer->ConnectionString
3. 重启主节点以及子节点中的 WynService 服务。
4. 使用多 Server 专用序列号注册产品,注册过程与单 Server时无差别。
5. 在子节点上单击 Server 后的安装按钮,安装并启动 Server。
安装成功后,子节点的 Server 将自动启动。可通过右侧的按钮禁用,启动、卸载该服务。
6. 配置 Nginx,以支持多台服务器负载均衡访问。
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream wyn {
server 10.32.7.138:51980 max_fails=3 fail_timeout=15s;
server 10.32.6.205:51980 max_fails=3 fail_timeout=15s;
}
server {
listen 8089;
location / {
add_header backendIP $upstream_addr;
add_header backendCode $upstream_status;
proxy_pass http://wyn;
# support websocket
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host:$server_port;
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
send_timeout 300s;
sendfile on;
proxy_buffer_size 64k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
client_max_body_size 100M;
}
}
7. 修改全局设置中的认证服务地址,将认证服务地址修改为 http://<Nginx IP>:<Listening port>。
8. 此时配置已经完成,可通过 Nginx 访问站点。
文中示例的 Nignx IP为10.32.5.154 端口为8089,所以我们就可以通过 http://10.32.5.154:8089 访问站点。
实际工作时,Nignx 会分发任务给两个Server 实现负载均衡效果。
type=info
提示
如系统重启后,不能正常访问站点,请您通过 http://10.32.5.154:8089/logout 退出后,重新登录站点。
配置连接串 | 默认 | 说明 |
---|---|---|
abortConnect={bool} |
| 如果为 true,在没有可用服务器时不会创建连接。 |
allowAdmin={bool} |
| 指定是否允许执行 Redis 的管理员命令。 如果设置为 true,客户端可以执行所有 Redis 命令,包括危险的命令。 |
channelPrefix={string} |
| 所有发布/订阅操作的可选通道前缀。 |
connectRetry={int} |
| 初始期间重复连接尝试的次数。 |
connectTimeout={int} |
| 连接操作超时(毫秒)。 |
configCheckSeconds={int} |
| 检查配置的时间(秒)。 |
defaultDatabase={int} |
| 默认数据库索引。 |
keepAlive={int} |
| 发送消息以保持套接字处于活动状态的时间(秒)(默认为 60 秒)。 |
name={string} |
| redis 内连接的标识。 |
user={string} |
| Redis 服务器的用户(与 Redis 6 及更高版本上的 ACL 一起使用)。 |
password={string} |
| Redis 用户的密码。 |
resolveDns={bool} |
| 用于指定是否在连接 Redis 服务器时解析 DNS 主机名。 设置为 true,Gces.Redis 会在连接 Redis 服务器时自动解析 DNS 主机名,以获取 Redis 服务器的 IP 地址。 设置为 false,则 Gces.Redis 会直接使用 DNS 主机名来连接 Redis 服务器。 通常情况下,可以将 resolveDns 设置为 true,让 Gces.Redis 自动解析 DNS 主机名,以便灵活地处理 Redis 服务器 IP 地址变化的情况。 但是,在某些情况下,可能需要将 resolveDns 设置为 false,例如: 如果你已经知道 Redis 服务器的 IP 地址,并希望直接使用 IP 地址来连接 Redis 服务器。 如果你的 DNS 服务器不可靠或出现故障,可能会导致 DNS 解析失败,此时可以将 resolveDns 设置为 false,避免 DNS 解析失败而无法连接 Redis 服务器。 |
serviceName={string} |
| 用于指定 Redis 哨兵服务器的服务名称。 当使用哨兵模式连接 Redis 服务器时,需要指定 Redis 哨兵服务器的服务名称,以便 Gces.Redis 可以正确地连接到 Sentinel 服务器,并获取 Redis 服务器的主从节点信息。 如果使用哨兵模式的集群,请确保serviceName 的值必须与哨兵服务器中的服务名称一致,否则连接将会失败。 |
ssl={bool} |
| 指定使用 SSL 加密。 |
sslHost={string} |
| 在服务器认证中强制执行特定的 SSL 主机身份。 |
sslProtocols={enum} |
| 使用加密连接时支持的 Ssl/Tls 版本。使用“|” 提供多个值。 |
syncTimeout={int} |
| 允许同步操作的时间(毫秒)。 |
asyncTimeout={int} |
| 允许异步操作的时间(毫秒)。 |
tiebreaker={string} |
| 是 Redis 哨兵模式下的一个配置项,用于指定在主从切换的情况下,如何选择新的主服务器。 当 Redis 主服务器发生故障时,Redis 哨兵会自动将从服务器提升为新的主服务器,但是如果有多个从服务器同时请求成为主服务器,那么 Redis 哨兵需要选择一个从服务器作为新的主服务器,这时就需要使用 tiebreaker 配置项来指定选择规则。 如果使用redis哨兵集群,强烈推荐设置一个可靠的实例作为tiebreaker的值。 |
PoolSize | null || number (4<PoolSize<200) | 是否使用Redis连接池并设置连接池大小。 |