[java] 微服务框架Dubbo和Spring cloud差异

主要优缺点

SpringCloud是http协议传输,带宽会比较多,同时使用http协议一般会使用JSON报文,消耗会更大

dubbo的开发难度较大,原因是dubbo的jar包依赖问题很多大型工程无法解决

springcloud的接口协议约定比较自由且松散,需要有强有力的行政措施来限制接口无序升级

dubbo的注册中心可以选择zeekeeper,redis等多种,springcloud的注册中心只能用eureka或者自研

dubbo由于是二进制的传输,占用带宽会更少

 

服务注册:

针对分布式领域著名的CAP理论:

C—数据一致性

A——服务可用性

P——服务对网络分区故障的容错性

Zookeeper 保证的是CP ,但对于服务发现而言,可用性比数据一致性更加重要 ,而 Eureka 设计则遵循AP原则 。

 

调用方式:

Dubbo 使用 RPC 通讯协议,提供序列化方式如下:

Dubbo:Dubbo 缺省协议采用单一长连接和 NIO 异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。

RMI:RMI 协议采用 JDK 标准的 java.rmi.* 实现,采用阻塞式短连接和 JDK 标准序列化方式。

Hessian:Hessian 协议用于集成 Hessian 的服务,Hessian 底层采用 HTTP 通讯,采用 Servlet 暴露服务,Dubbo 缺省内嵌 Jetty 作为服务器实现。

HTTP:采用 Spring 的 Http Invoker 实现。

Webservice:基于 CXF 的 frontend-simple 和 transports-http 实现。

 

Spring Cloud

Spring Cloud 使用 HTTP 协议的 REST API。

 

 

参考文档:

https://blog.csdn.net/zhangweiwei2020/article/details/78646252

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值