Dubbo的负载均衡已经是服务层面的了,和nginx的负载均衡还在http请求层面完全不同。至于二者哪个优秀,当然没办法直接比较。
涉及到负载均衡就涉及到你的业务,根据业务来选择才是最适合的。
dubbo具备了server注册,发现、路由、负载均衡的功能,在所有实现了这些功能的服务治理组件中,个人觉得dubbo还是略微笨重了,因为它本身是按照j2EE范畴所制定的中规中矩的服务治理框架。
dubbo在服务发现这个地方做的更像一个dns(个人感觉),一个消费者需要知道哪里有这么一个服务,dubbo告诉他,然后他自己去调用。 而nginx在具备了以上功能,还有两个最主要的功能是,1,维持尽可能多的连接。2,把每个连接的具体服务需求pass到真正的worker上。 但是这两个功能,dubbo做不到第一个。 所以,结合你自己的业务来选择用什么,nginx和dubbo在使用上说白了就是一个先后的关系而已(当然也是我个人感觉)。
通俗点说dubbo是业务的桥梁啊。。。。
这么给你说吧:
nginx是横在用户的浏览器和自家的服务器之间。
dubbo是横在自家的服务器和自家的服务器之间啊。