有了sprint cloud的zuul还需要用nginx吗?

有了sprint cloud的zuul还需要用nginx吗?,第1张

根据实际情况来选择要不要增加nginx。

nginx是做负载均衡请求转发,更多被用作负载均衡器使用的;

zuul是请求转发,一般用来做网关的。

zuul配合eureka来使用,zuul功能也很强大,nginx要做这些功能也是可以,但是需要各种脚本语言来支持,比如lua脚本等,但是zuul来说的话开发成本就低很多,懂spring就够了。

这块还会设计到一些分布式原子化问题,我都是一个坑一个坑踩过来的,有什么问题可以继续探讨,建议还是多了解一下spring cloud的核心思想,把整个分布式架构了解一下。

Nginx是一个高性能的>

其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

本文将从 Tomcat性能优化,SpringCloud开启重试机制,Zuul网关性能参数优化,Ribbon性能参数优化,Feign与Hystrix性能优化等 五个方面分享在生产环境如何做好SpringCloud性能优化。

一般基于SpringCloud的微服务能够脱离传统的tomcat,独立跑起来,SpringBoot功不可没,其原理是SpringBoot内嵌了tomcat(当然可以换成其他servlet容器,如jetty),能够以java -jar形式就能跑起来。

所以针对每个springboot服务,我们需要对tomcat的一些参数进行优化,以下是楼主项目组优化的tomcat参数配置,供大家参考。

tomcat参数说明:

maxThreads,acceptCount参数应用场景

场景一

场景二

场景三

maxThreads调优

一般说服务器性能要从两个方面说起:

1、cpu计算型指标

2、io密集型指标

所以大部分情况下,tomcat处理io型请求比较多,比如常见的连数据库查询数据进行接口调用。

另外,要考虑tomcat的并发请求量大的情况下,对于服务器系统参数优化,如虚拟机内存设置和linux的open file限制。

maxThreads设置多大合适?

我们知道线程过多,会导致cpu在线程切换时消耗的时间随着线程数量的增加越来越大;线程太少,服务器的请求响应吞吐量会急剧下降,所以maxThreads的配置绝对不是越大越好。

实际情况是设置maxThreads大小没有最优解,要根据具体的服务器配置,实际的应用场景不断的调整和优化。

acceptCount设置多大合适?

尽量与maxThreads的大小保持一致 这个值应该是主要根据应用的访问峰值与平均值来权衡配置的。

当使用URL进行路由时,则需要对zuulhostconnect-timeout-millis和zuulhostsocket-timeout-millis参数控制超时时间。

请求连接的超时时间

请求处理的超时时间

对所有 *** 作请求都进行重试

对当前实例的重试次数,针对同一个服务实例,最大重试次数(不包括首次调用)

对下个实例的重试次数,针同其它的服务实例,最大重试次数(不包括首次server)

注意Hystrix断路器的超时时间需要大于ribbon的超时时间,不然不会触发重试

Feign和Ribbon在整合了Hystrix后,首次调用失败的问题?

目前楼主的强烈做法是: 禁用Hystrix的超时时间,设为false

还有一种是官方提倡的是 设置超时时间。

在实际的项目中亲测,这种方式也有不好的地方, 如请求时间超过5s会出现请求数据时有时无的情况 ,给用户的感觉是 系统不稳定,要求整改

另外,禁用hystrix,官方不推荐

hystrix超时设置原则

问题:一个>

第一步:设置路由器无线参数:1、确定SSID并固定信道登录主路由器的管理界面,进入 无线设置 >> 基本设置,在该页面确认SSID(无线名称),并固定 信道,并点击 保存。

2、确认无线密码进入 无线设置 >> 无线高级设置,确认无线加密方式以及无线密码。

第二步:设置副路由器1、关闭DHCP服务器        登录副路由器的管理界面,进入 DHCP服务器 >> DHCP服务,将DHCP服务器修改为 不启用,并点击 保存。

2、WDS扫描信号进入 无线设置 >> 无线基本设置,勾选 开启WDS 并点击 扫描。

3、选择主路由器信号    在扫描页面中找到主路由器的无线SSID,并点击 连接。4、输入密码并固定信道选择 信道 与主路由器的无线信道一致,并在 密钥 位置输入主路由器的无线密码,输入完成后点击 保存,设置完成后无需重启路由器,继续下一步 *** 作。

5、设置副路由器的无线密码    点击 无线设置 >> 无线安全设置,选择 WPA-PSK/WPA2-PSK ,在 PKS密码 中设置 至少8位 的无线密码,点击 保存。

注意:副路由器的SSID、无线密码可与主路由器不同,如果需要实现漫游,则必须与主路由器相同。6、修改管理IP地址进入 网络参数 >> LAN口设置,将IP地址修改为与主路由器不同(建议为同一网段)。修改完成点击 保存,d出确定页面点击 确定,等待重启完成。

注意:重启后使用修改后的IP地址进行登录路由器管理界面。

打开浏览器,通过副路由器修改后的管理IP地址登录管理界面。点击 运行状态,观察 无线状态 >> WDS状态,显示 成功 则表示WDS桥接设置成功。

至此无线WDS桥接设置完成,副路由器下的无线终端连接到zhangsan,可以正常访问网络。终端移动过程中,可以实现主、副路由器间的自动漫游。

1配置消费者路径能支持通用访问
如用 provider-user 替换 localhost:7900

2配置要让这个applicationname进行解析,到Eureka换成对应地址

ribbon和nginx比较
1)nginx(外网转内网,没有进行业务加工)基于C语言,快速,性能高达5w/s
redis 5w/s,RibbitMQ (进行了业务加工)12ws,ApacheActiveMQ 06w/s
kafuka 20w/s~50w/s大数据用(可以丢失数据,大数据取的是近似值)
Zuul20 200w/s
负载均衡、反向代理、代理后端服务器。隐藏真实地址,防火墙设置真实地址不能外网直接访问
2)Ribbon负载均衡,前端,客户端开始导向(转向)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10572073.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-09
下一篇2023-05-09

发表评论

登录后才能评论

评论列表(0条)