微服务,分布式,Dubbo,SpringClound 的联系与区别

1. 微服务和分布式

微服务:是一套理论,论述了项目开发过程中,将大项目拆分成小项目独立开发和部署的理论,论述了发展过程,特点,优点,缺点等。

分布式:是在实际工作中实现来了这套理论后的称呼,实际上指的还是一个东西。

Dubbo,SpringClound:是具体实现微服务的代码框架,根据理论进行实现的。

 

2. Dubbo 和 SpringClound 的联系与区别

联系:二者都是实现 微服务理论 的架构。

区别:

(1)Dubbo 是 中国的 Alibaba 研发团队开发的, SpringClound 是 Spring 研发团队开发的;

(2)Dubbo 只是搭建了分布式的框架,完成了最基本的 远程调用/服务注册和发现/监控; SpringClound 完成了微服务的整套理论架构;

(3)Dubbo 的远程调用的 RPC 接口,是集成 Netty 完成,基于 TCP 协议,靠底层;Dubbox 是支持 Rest 接口的;

          SpringClound 的远程调用接口,是基于 应用层的 HTTP 协议的 Rest 接口(通过 fegin);

(4)Dubbo 不依赖于 SpringBoot 框架,SpringClound 必须依赖于 SpringBoot,SpringBoot 简化了 SpringClound 的大部分配置工作;

(5)Dubbo 对架构刚工作要求高,需要组装。SpringClound 的体系比较完善,基本上安装即可使用,只需要根据业务要求进行修改即可;

(6) Dubbo 已经暂停了版本更新, SpringClound 还在继续更新版本。

 

3. 微服务的使用场景

暂时遇到两种:

(1)按照微服务的定义,将业务拆分成小项目,项目与项目之间进行调用。

(2)做新老系统的兼容,少见,但是真的有。

       这种模式,主要是新旧系统同时使用,新系统还在处于开发阶段,两边一起用。如果没有微服务,那么兼容是非常麻烦的。

现在则新系统调用老系统的部分接口,数据也可以两边存储,备份等。这种情况基本上只会选择 SpringCloud, 因为 他的远程接口支持 Rest, 大家都用 http 协议即可。

而且 SpringCloud 本身已经将协议进行了封装,运用 fegin, 简直不要太爽。

      如果用 Dubbo, 成本就高太多了,需要给老系统的远程调用接口添加 RPC 远程调用接口, 接口那么多,一个一个加? 这也是为什么 DubboX RPC 接口这一块进行了优化,让其支持 Rest。

有一个 Dubbo 架构的项目,做新老系统交接时,只能强行切换,把数据草率的进行了迁移,数据结构完全不一样,整的数据库一团糟。 

用户、boss、开发互相抱怨,然后开发团队就被干掉了……

毕竟 不能开除 用户 和 老板,那只能开除开发了。

其实和开发团队没有关系,开发人员仅仅是执行而已,虽然反对,boss 直接怼你,你说你迁不?

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值