1.概述

JPAAS 是使用微服务架构开发的系统,因此天然具有服务实例水平扩展能力,可以按照实际的情况对实例进行扩展,比如 JPAAS-BPM的 压力比较大,那么可以多部署几个实例,随应用的实际情况进行灵活部署。

2.部署架构

2.1 部署说明

我的部署架构是:

1.nacos,redis,seata,mysql 单独部署
2.微服务放到两台服务器。
3.使用两个gateway,前端使用nginx 对网关做负载均衡。

目前我的部署结构是:

1.部署两台虚拟器
在每台虚拟机上,部署我们的微服务。
比如 IP分别为 192.168.1.77,192.168.1.88

NACOS 查看服务情况。

可以看到nacos 的微服务实例情况,每个都启动了两个实例。

2.其他的服务部署在另外的服务上。

2.2 nginx 配置

upstream gateway {
            server 192.168.1.77:9900;
            server 192.168.1.88:9900;
        }

location /api/ {
             proxy_set_header Host       $host;
             proxy_set_header developer        ray;
             proxy_pass http://gateway/;
             #proxy_pass http://localhost:9900/;

}

这里通过网关做负载均衡。

测试负载均衡很简单,我们可以通过停掉,一台服务器,开启另一台的方式测试。再做相反操作,如果都没有问题,说明部署负载均衡是生效的。

2.3 通过zipkin 验证

在nacos对配置进行如下修改。

#zipkin-server地址
spring.zipkin.base-url=http://192.168.1.159:9411/
#spring.zipkin.discoveryClientEnabled=false
#接口采样比例
spring.sleuth.sampler.probability=1

这里需要配置采样率,如果配置成1 ,那么每个请求都会进行采样,如果配置成0 则不采样。生产上可以配置为 0.1.

启动 zipkin server

java -jar zipkin-server-2.23.4-exec.jar

这样就可以做监控了。

我们可以对同一个地址,进行访问,看看请求是不是分发到了两个实例。

对流程实例任务进行4次查询。

通过zipkin 可以看到有4次请求。

可以清楚的看到确实是访问了两个微服务实例。

文档更新时间: 2021-10-24 22:25   作者:zyg