微服务和SpringCloud,Dubbo之间关系的个人理解

微服务

刚开始学习微服务的时候,接触到很多概念,比如微服务,SpringCloud,Dubbo,经常搞不清楚,所以今天就自己梳理了一下。

首先,微服务是一种软件开发的架构模式,指明我们应该怎样来用微服务搭建我们的软件项目。既然是一种思想,当然也就没有编程语言上的限制,你可以用java,php,go等等去实现这样的开发架构。

来自维基的对微服务的解释:

微服务(英语:Microservices)是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模块化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关 (Language-Independent/Language agnostic)的API集相互通信

那微服务架构是什么样的呢?这里就不详细阐述了,网上资料很多。当我们想用微服务来开发我们的项目的时候,需要解决诸如服务注册发现,服务通信,负载均衡,健康检查,服务网关等等问题。那我们要实现一个微服务框架,这么多问题,都自己一个一个去实现吗?显然不是,很多东西都已经有成熟的技术组件和解决方案了。

SpringCloud

在Java领域里,有SpringCloud就提供的微服务的一站式解决方案,利用SpringCloud这个架子可以快速的就搭建起一个微服务的项目,虽说是一站式解决方案,SpringCloud也没用提供所有方案的具体实现,SpringCloud只实现了部分组件,比如,Spring Cloud Gateway 一个轻量级的网关组件,Spring Cloud Bus 一个spring实现的消息总线组件,Spring Cloud Config 一个Spring实现的,其他的还有很多预留的接口标准都是提供给其他厂商去实现的。

比如有我们经常使用的Netflix公司实现的解决方案Spring Cloud Netflix,里面都是Netflix公司的组件,比如

Eureka, Hystrix, Zuul, Archaius,等等..

国内的有Alibaba的Spring Cloud Alibaba解决方案,大部分是Alibaba的技术组件,Nacos,Sentinel,RocketMQ,Dubbo,Seata等等

Dubbo

最后再来说说,Dubbo,dubbo是一个专注于分布式服务治理的框架,就是如何保证让服务于服务之间能更好的通信和管理,从这个层面上说,Dubbo是一个RPC框架,和SpringCloud是不一样的,SpringCloud是微服务一站式的解决方案。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值