nginx可以实现前端请求的负载均衡,dubbo可以实现后台服务的分布式。
像现在流行的微服务,都是无中心化的。防止一个中心压力过大,或者中心down掉后影响整个系统。
那么问题来了,nginx服务器down掉后,会导致后台服务都收不到响应,怎么解决这个问题?还是说部署多个nginx。如果部署多个nginx,又怎么部署呢?
nginx可以处理上万的并发,但是实际中超过它的最大并发量,又是如何解决的呢?
谢谢!
是这样的 在nginx前面还有一层专门做负载均衡的家伙 叫 LVS 或者 SLB。
为了安全起见,鸡蛋肯定不能放一个篮子里,同理,服务器也不会都在一个机房,一般都会有三四个机房在提供服务,每个机房怎么也得2、30台服务器,然后在这些服务器前面再横一个 LVS 进行负载均衡。
如果没有 LVS 的话,那么就用一个 nginx 做负载均衡,怎么着也得 upstream 2、30 台其他的 nginx 服务器提供服务,能力强的 server 那就 weight 多些,能力不强的少些 weight, 在这2、30台中,腾出7、8 台 back up。
部署多个nginx的问题:使用keepalived保持心跳,如果服务器挂了,就将请求转移到没挂的服务器上。
并发量的问题也是使用nginx的反向代理将访问转移到不同的机器上,进行请求分担,降低并发量
怎么部署我这边有两个文档,可以私我
15 回答8.4k 阅读
2 回答2.4k 阅读✓ 已解决
2 回答4.2k 阅读
1 回答1.8k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答2.2k 阅读
3 回答897 阅读
最前面,架两台LVS,互为主备,他俩负责调度到后面的多台nginx。