微服务框架有哪些主流的?有何区别?

2020-04-23 11:08:18 java常见问答 8708

随着技术的进步,微服务是目前流行的技术,小编想问问大家微服务框架的热门的框架有哪些呢?是的,就是大家都知道的springcloud以及dubbon这两个,那么这两个有区别呢?接下来让我们来了解下吧。

1.spring cloud架构

微服务框架

从图可以看出spring cloud包括一系列的功能模块,比如:

API Gateway:用户请求的统一入口,Spring colud通过Netflix Zuul提供动态路由,监控,弹性,安全等的边缘服务。

配置服务器:可以让你把配置放到远程服务器,目前支持本地存储、Git以及Subversion。

熔断器:Netflix Hystrix通过控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。

服务发现:Eureka是Netflix公司开发的框架,用于微服务的注册和发现,提供相似功能的还可以使用Zookeeper,但官方推荐使用Eureka。

服务监控:Actuator展示当前运用程序的运行情况,例如运行状态、数据库、jdk版本等信息。

2、dubbo

Dubbo是 阿里巴巴公司开源的一个高性能优秀的分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。

微服务框架

dubbo服务治理

Dubbo 核心部件(如上图):

Provider: 暴露服务的提供方,可以通过jar或者容器的方式启动服务

Consumer:调用远程服务的服务消费方。

Registry: 服务注册中心和发现中心。

Monitor: 统计服务和调用次数,调用时间监控中心。

Container:服务运行的容器。

总的如下图进行了比较:

微服务框架

然而最大的区别:Spring Cloud抛弃了Dubbo 的RPC通信,采用的是基于HTTP的REST方式。严格来说,这两种方式各有优劣。虽然在一定程度上来说,后者牺牲了服务调用的性能,但也避免了上面提到的原生RPC带来的问题。而且REST相比RPC更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下,显得更为合适。

以上就是今天所讲的微服务知识,如果想要了解更多,请继续关注本网站。