当前位置: 首页 > 图灵资讯 > java面试题> javaSpringCloud面试题-多版本隔离

javaSpringCloud面试题-多版本隔离

来源:图灵教育
时间:2024-05-26 13:09:16

本地复用测试服务-Eureka Zone亮点

region 地理上的分区,比如北京、上海等

zone 可以简单理解为 region 内的具体机房

在调用的过程中会优先选择相同的 zone 发起调用,当找不到相同名称的 zone 时会选择其他的 zone 进行调用,我们可以利用这个特性来解决本地需要启动多个服务的问题。

[^]: 当你访问修改的服务 A 时,这个服务依赖了 B、C 两个服务,B 和 C 本地没有启动,B 和 C 找不到相同的 zone 就会选择其他的 zone 进行调用,也就是会调用到测试环境部署的 B 和 C 服务,这样一来就解决了本地部署多个服务的问题。

各组件调优

当你对网关进行压测时,会发现并发量一直上不去,错误率也很高。因为你用的是默认配置,这个时候我们就需要去调整配置以达到最优的效果。

首先我们可以对容器进行调优,最常见的就是内置的 Tomcat 容器了。

server.tomcat.accept-count //请求队列排队数server.tomcat.max-threads //最大线程数server.tomcat.max-connections //最大连接数

Hystrix 的信号量(semaphore)隔离模式,并发量上不去很大的原因都在这里,信号量默认值是 100,也就是最大并发只有 100,超过 100 就得等待。

//信号量zuul.semaphore.max-semaphores //信号量:最大并发数//线程池hystrix.threadpool.default.coreSize //最大线程数hystrix.threadpool.default.maximumSize //队列的大hystrix.threadpool.default.maxQueueSize //等参数

配置Gateway并发信息

gateway.host.max-per-route-connections //每个路由的连接数 gateway.host.max-total-connections //总连接数

调整Ribbon 的并发配置

ribbon.MaxConnectionsPerHost //单服务并发数ribbon.MaxTotalConnections //总并发数

修改Feign默认的HttpURLConnection 替换成 httpclient 来提高性能

feign.httpclient.max-connections-per-route//每个路由的连接数feign.httpclient.max-connections //总连接数

Gateway+配置中心实现动态路由

Feign+配置中心实现动态日志