dubbo和cloud的区别:duobbo是rpc通信方式,轻量级的通信机制spring cloud是restful http 通信。
微服务的优缺点:
优点,1)每个服务足够内聚,足够小。代码容易理解,业务容易修改。2)开发简单,效率高,团队小化。4)服务是松耦合的,开发和部署独立。不同语言开发。5)开发中,前后端分离,只关心后段服务,按照rest和格式提供服务。
缺点:1)服务通信成本上升 2)难以运维部署监控 3)分布式事务和数据一致性 4)系统集成测试复杂
技术栈支持情况,以及微服务技术栈:
|
|
---|---|
服务注册中心 | Zookeeper,Eureka,Consul ... |
服务调用方式 | RPC,REST,gRPC |
服务网关 | Zuul |
断路器 | Hystrix,Envoy... |
负载均衡 | Nginx,Ribbon... |
服务调用 | Feign |
分布式配置 | Config,Chef... |
服务监控 | Zabbix,Nagios,Metrics,Spectator... |
服务跟踪 | Sleuth |
消息总线 | Bus |
数据流 | Stream |
批量任务 | Task |
dubbo和cloud:
| Dubbo | Spring Cloud |
---|---|---|
| Dubbo | Spring Cloud |
服务注册中心 | Zookeeper | Spring Cloud Netflix Eureka |
服务调用方式 | RPC | REST API |
服务网关 | 无 | Spring Cloud Netflix Zuul |
断路器 | 不完善 | Spring Cloud Netflix Hystrix |
分布式配置 | 无 | Spring Cloud Config |
服务跟踪 | 无 | Spring Cloud Sleuth |
消息总线 | 无 | Spring Cloud Bus |
数据流 | 无 | Spring Cloud Stream |
批量任务 | 无 | Spring Cloud Task |
Dubbo架构师刘军给的区别:http://www.sohu.com/a/215931152_827544
关于 Dubbo 和 Spring Cloud 间的关系,我们在开源中国年终盛典的 Dubbo 分享中也作了简单阐述。
首先要明确的一点是 Dubbo 和 Spring Cloud 并不是完全的竞争关系,两者所解决的问题域并不一样:Dubbo 的定位始终是一款 RPC 框架,而 Spring Cloud 的目标是微服务架构下的一站式解决方案。
如果非要比较的话,我觉得 Dubbo 可以类比到 Netflix OSS 技术栈,而 Spring Cloud 集成了 Netflix OSS 作为分布式服务治理解决方案,但除此之外 Spring Cloud 还提供了包括 config、stream、security、sleuth 等等分布式问题解决方案。
当前由于 RPC 协议、注册中心元数据不匹配等问题,在面临微服务基础框架选型时 Dubbo 与 Spring Cloud 是只能二选一,这也是为什么大家总是拿 Dubbo 和 Spring Cloud 做对比的原因之一。
Dubbo 之后会积极寻求适配到 Spring Cloud 生态,比如作为 Spring Cloud 的二进制通信方案来发挥 Dubbo 的性能优势,或者 Dubbo 通过模块化以及对 http 的支持适配到 Spring Cloud。