Dubbo与Spring Cloud的区别
首先,这两个不是一个层面上的东西,Spring Cloud是Spring提供的一套用于微服务治理的框架,里面提供了各种组件,如Eureka, Ribbon, Hystrix, Feign, Getaway, zuul等,都是用于对微服务管理治理的框架组件
而Dubbo更倾向于是为了解决服务之间通信的Rpc框架,底层采用Netty与其自定义的Dubbo协议进行服务之间的高效通信,当然也支持其他的协议,比如RMI,webservice,redis,Dubbox的http协议
Dubbo本身只是提供服务通信方面的服务,不像Spring Cloud已经提供了一整套完善的微服务组件生态,Dubbo还需要搭载其他中间件作为注册中心才能完整的提供服务,比如zk,Nacos等。
但是由于Dubbo底层采用的是Netty框架,并且为此自定义了一套Dubbo协议,在性能方面是强于Spring Cloud的,Spring Cloud微服务之间的通信是使用的http协议进行交互的
Dubbo协议与Http协议的区别
Dubbo协议是基于TCP/IP传输层协议定义的,而Http是应用层的协议,在网络层级架构中,传输层是在应用层的上层,所以比Http协议要快
另外,Dubbo协议采用的是长连接,建立连接后,后续的网络请求使用相同的通道,而Http是使用的短连接,每次请求都需要进行三次握手,四次挥手