Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

如果我理解的没错的话ribbon应该是对分布式应用中某个微服务集群中的节点做负载均衡,比如服务消费端向服务提供端的微服务集群发出一个请求,ribbon就会根据指定的规则从集群中选出一个节点来响应这个请求。那么nginx是对什么东西做负载均衡?也是分布式应用中某个微服务集群中的节点吗?

我不理解的是:ribbon是对微服务集群中的节点服务器做负载均衡,那nginx是对服务器做负载均衡,也就是说ribbon的处理对象是微服务集群中的那些节点服务器,那nginx处理的服务器和这些节点服务器之间是什么关系?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
727 views
Welcome To Ask or Share your Answers For Others

1 Answer

问了很多人终于明白了区别,其实主要还是自己不明白一个分布式应用在生产环境中一般是如何部署的。

简单来说,假设一个分布式应用由多个微服务集群构成,而分布式应用本身也会以集群方式部署,那么:
1.ribbon的负载均衡面向的是一个分布式应用中微服务集群中的节点;
2.nginx的负载均衡面向的是每个分布式应用节点。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...