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