docker容器本质是一个受限的linux系统,不论dubbo还是spring boot都可以运行于linux,因此也可以运行在云上。
dubbo更侧重于一个RPC框架,曾经停更一段实践,从而出现了各种分支,现在更新已经强势回来;
spring cloud更侧重于一个solution,涉及到微服务的各个方面,都有专门框架来处理。现在工行在云已经使用二者,实际运行dubbo更多,但是也在逐渐切换到spring cloud。
两者各有千秋吧,都可以运行在云上。Spring Cloud抛弃了RPC通信,采用的是基于HTTP的REST方式。
Spring Cloud较Dubbo在服务调用的性能相对较低,但也避免了RPC带来的问题。而且REST相比RPC更为灵活,服务提供方和消费方不存在代码级别的强依赖关系,在快读迭代的微服务环境下,更加有优势。
个人比较推荐是Spring Cloud。另外建议可以了解下Istio。